How to use setX method of org.openqa.selenium.Rectangle class

Best Selenium code snippet using org.openqa.selenium.Rectangle.setX

Source:HtmlDomTree.java Github

copy

Full Screen

...57 int h = rootElementFromSelenium.getSize().height;58 59 htmlRootElement.setSeleniumWebElement(rootElementFromSelenium);60 htmlRootElement.setTagName(rootElementFromSelenium.getTagName());61 htmlRootElement.setX(x);62 htmlRootElement.setY(y);63 htmlRootElement.setWidth(w);64 htmlRootElement.setHeight(h);65 this.root = new Node<HtmlElement>(null, htmlRootElement);66 htmlRootElement.setXpath(computeXpath(this.root));67 htmlRootElement.setHtmlAttributes(htmlAttributesParser.getHTMLAttributesForElement(htmlRootElement.getXpath()));68 try69 {70 htmlRootElement.setCssProperties(cssParser.getCSSPropertiesForElement(htmlRootElement.getXpath()));71 }72 catch (XPathExpressionException e)73 {74 e.printStackTrace();75 }76 77 htmlRootElement.setRectId(rectId);78 79 // Create and initialize an rtree80 spatialIndex = new RTree();81 spatialIndex.init(null);82 rects = new HashMap<Integer, Rectangle>();83 rectIdHtmlDomTreeNodeMap = new HashMap<Integer, Node<HtmlElement>>();84 85 Rectangle r = new Rectangle(x, y, x+w, y+h);86 rects.put(rectId, r);87 rectIdHtmlDomTreeNodeMap.put(rectId, root);88 spatialIndex.add(r, rectId++);89 }9091 public Node<HtmlElement> getRoot()92 {93 return root;94 }9596 public void setRoot(Node<HtmlElement> root)97 {98 this.root = root;99 }100101 public void buildHtmlDomTree()102 {103 buildHtmlDomTreeFromNode(this.root);104 //postOrderTraversalForAdjustingElementSize(this.root);105 }106 107 private void buildHtmlDomTreeFromNode(Node<HtmlElement> node)108 {109 try110 {111 List<WebElement> children = node.getData().getSeleniumWebElement().findElements(By.xpath("*"));112 for (WebElement child : children)113 {114 int x = child.getLocation().x;115 int y = child.getLocation().y;116 int w = child.getSize().width;117 int h = child.getSize().height;118 119 // adjust size of option to that of the parent (select)120 if(child.getTagName().equals("option"))121 {122 if(node.getData().getTagName().equals("select"))123 {124 x = node.getData().getX();125 y = node.getData().getY();126 }127 }128 129 // don't process elements with no visual impact130 //if(x >= 0 && y >= 0 && w > 0 && h > 0)131 if(!Arrays.asList(Constants.NON_VISUAL_TAGS).contains(child.getTagName()))132 {133 HtmlElement newChild = new HtmlElement();134 135 // set tag name136 newChild.setTagName(child.getTagName());137 138 // set id139 newChild.setId(child.getAttribute("id"));140 141 // set web element142 newChild.setSeleniumWebElement(child);143 144 // set rectangle information145 newChild.setX(x);146 newChild.setY(y);147 newChild.setWidth(w);148 newChild.setHeight(h);149 150 Node<HtmlElement> newNode = new Node<HtmlElement>(node, newChild);151 // set xpath by traversing the built html dom tree152 newChild.setXpath(computeXpath(newNode));153154 // set css properties155 newChild.setCssProperties(cssParser.getCSSPropertiesForElement(newChild.getXpath()));156 157 // set html attributes158 newChild.setHtmlAttributes(htmlAttributesParser.getHTMLAttributesForElement(newChild.getXpath()));159 160 newChild.setRectId(rectId);161 rectIdHtmlDomTreeNodeMap.put(rectId, newNode);162 163 Rectangle r = new Rectangle(x, y, x+w, y+h);164 rects.put(rectId, r);165 spatialIndex.add(r, rectId++);166 167 buildHtmlDomTreeFromNode(newNode);168 }169 }170 }171 catch (NoSuchElementException e)172 {173 return;174 }175 catch (XPathExpressionException e)176 {177 e.printStackTrace();178 }179 catch (IOException e)180 {181 e.printStackTrace();182 }183 }184185 private void postOrderTraversalForAdjustingElementSize(Node<HtmlElement> node)186 {187 if (node == null)188 {189 return;190 }191 192 if (node.getChildren() != null)193 {194 for (Node<HtmlElement> child : node.getChildren())195 {196 postOrderTraversalForAdjustingElementSize(child);197 }198 }199 200 int x = node.getData().getX();201 int y = node.getData().getY();202 int width = node.getData().getWidth();203 int height = node.getData().getHeight();204 205 // adjust node rectangle from siblings206/* List<Node<HtmlElement>> allSiblings = node.getNodeSiblings();207 208 if(allSiblings != null && node.getData().getXpath().equals("/html/body/div/div[2]"))209 {210 for(Node<HtmlElement> sibling : allSiblings)211 {212 HtmlElement siblingElement = sibling.getData();213 System.out.println("sibling: " + siblingElement + "\n");214215 int newX = x + 1;216 int newY = y + 1;217 int newWidth = width - 2;218 int newHeight = height - 2;219 220 // left top221 if(isPointInRectangle(newX, newY, siblingElement.getX(), siblingElement.getY(), siblingElement.getWidth(), siblingElement.getHeight(), false))222 {223 if(newX < (siblingElement.getX() + siblingElement.getWidth()))224 {225 x = siblingElement.getX() + siblingElement.getWidth() + 1;226 node.getData().setX(x);227 }228 if(newY < (siblingElement.getY() + siblingElement.getHeight()))229 {230 y = siblingElement.getY() + siblingElement.getHeight() + 1;231 node.getData().setY(y);232 }233 }234 235 // right top236 if(isPointInRectangle((newX + newWidth), newY, siblingElement.getX(), siblingElement.getY(), siblingElement.getWidth(), siblingElement.getHeight(), false))237 {238 if((newX + newWidth) > siblingElement.getX())239 {240 width = width - ((x + width) - siblingElement.getX()) - 1;241 node.getData().setWidth(width);242 }243 if(newY < (siblingElement.getY() + siblingElement.getHeight()))244 {245 y = siblingElement.getY() + siblingElement.getHeight() + 1;246 node.getData().setY(y);247 }248 }249 250 // left bottom251 if(isPointInRectangle(newX, (newY + newHeight), siblingElement.getX(), siblingElement.getY(), siblingElement.getWidth(), siblingElement.getHeight(), false))252 {253 if(newX < (siblingElement.getX() + siblingElement.getWidth()))254 {255 x = siblingElement.getX() + siblingElement.getWidth() + 1;256 node.getData().setX(x);257 }258 if((newY + newHeight) > siblingElement.getY())259 {260 height = height - ((y + height) - siblingElement.getY()) - 1;261 node.getData().setHeight(height);262 }263 }264265 // right bottom266 if(isPointInRectangle((newX + newWidth), (newY + newHeight), siblingElement.getX(), siblingElement.getY(), siblingElement.getWidth(), siblingElement.getHeight(), false))267 {268 if((newX + newWidth) > siblingElement.getX())269 {270 width = width - ((x + width) - siblingElement.getX()) - 1;271 node.getData().setWidth(width);272 }273 if((newY + newHeight) > siblingElement.getY())274 {275 height = height - ((y + height) - siblingElement.getY()) - 1;276 node.getData().setHeight(height);277 }278 }279 }280 }281*/ 282/* if(allSiblings != null)283 {284 for(Node<HtmlElement> sibling : allSiblings)285 {286 HtmlElement siblingElement = sibling.getData();287 288 // check if horizontal sibling289 if(y == siblingElement.getY())290 {291 // match height292 if(height < siblingElement.getHeight())293 {294 node.getData().setHeight(siblingElement.getHeight());295 }296 }297 else // vertical sibling298 {299 // match width300 if(width < siblingElement.getWidth())301 {302 node.getData().setWidth(siblingElement.getWidth());303 }304 }305 }306 }307*/308 Node<HtmlElement> parent = node.getParent();309 310 // adjust size of option to that of the parent (select)311 if(node.getData().getTagName().equals("option"))312 {313 if(parent.getData().getTagName().equals("select"))314 {315 x = parent.getData().getX();316 y = parent.getData().getY();317 318 node.getData().setX(x);319 node.getData().setY(y);320 }321 }322 323 // adjust parent rectangle324/* if(parent == null)325 return;326 327 HtmlElement parentElement = node.getParent().getData();328 329 if(width > 0 && height > 0)330 {331 if(parentElement.getX() > x)332 {333 parentElement.setX(x);334 parent.setData(parentElement);335 }336 if(parentElement.getY() > y)337 {338 parentElement.setY(y);339 parent.setData(parentElement);340 }341 if((parentElement.getX() + parentElement.getWidth()) < (x + width))342 {343 parentElement.setWidth(parentElement.getWidth() + ((x + width) - (parentElement.getX() + parentElement.getWidth())));344 parent.setData(parentElement);345 }346 if((parentElement.getY() + parentElement.getHeight()) < (y + height))347 { ...

Full Screen

Full Screen

Source:GeetestMultipartImage.java Github

copy

Full Screen

...365 int i = 0;366 do {367 MoveEntity moveEntity = new MoveEntity();368 int r = RandomUtils.nextInt(5, 8);369 moveEntity.setX(r);370 moveEntity.setY(RandomUtils.nextInt(0, 1) == 1 ? RandomUtils.nextInt(0, 2) : 0 - RandomUtils.nextInt(0, 2));371 int s = 0;372 if (i / Double.valueOf(distance) > 0.05) {373 if (i / Double.valueOf(distance) < 0.85) {374 s = RandomUtils.nextInt(2, 5);375 } else {376 s = RandomUtils.nextInt(10, 15);377 }378 } else {379 s = RandomUtils.nextInt(20, 30);380 }381 moveEntity.setSleepTime(s);382 list.add(moveEntity);383 i = i + r;384 } while (i <= distance + 5);385 boolean cc = i > distance;386 for (int j = 0; j < Math.abs(distance - i); ) {387 int r = RandomUtils.nextInt(1, 3);388 MoveEntity moveEntity = new MoveEntity();389 moveEntity.setX(cc ? -r : r);390 moveEntity.setY(0);391 moveEntity.setSleepTime(RandomUtils.nextInt(100, 200));392 list.add(moveEntity);393 j = j + r;394 }395 return list;396 }397 static class MoveEntity {398 private int x;399 private int y;400 private int sleepTime;//毫秒401 public MoveEntity() {402 }403 public MoveEntity(int x, int y, int sleepTime) {404 this.x = x;405 this.y = y;406 this.sleepTime = sleepTime;407 }408 public int getX() {409 return x;410 }411 public void setX(int x) {412 this.x = x;413 }414 public int getY() {415 return y;416 }417 public void setY(int y) {418 this.y = y;419 }420 public int getSleepTime() {421 return sleepTime;422 }423 public void setSleepTime(int sleepTime) {424 this.sleepTime = sleepTime;425 }...

Full Screen

Full Screen

Source:HuXiu.java Github

copy

Full Screen

...359 int i = 0;360 do {361 MoveEntity moveEntity = new MoveEntity();362 int r = RandomUtils.nextInt(5, 8);363 moveEntity.setX(r);364 moveEntity.setY(RandomUtils.nextInt(0, 1)==1?RandomUtils.nextInt(0, 2):0-RandomUtils.nextInt(0, 2));365 int s = 0;366 if(i/Double.valueOf(distance)>0.05){367 if(i/Double.valueOf(distance)<0.85){368 s = RandomUtils.nextInt(2, 5);369 }else {370 s = RandomUtils.nextInt(10, 15);371 }372 }else{373 s = RandomUtils.nextInt(20, 30);374 }375 moveEntity.setSleepTime(s);376 list.add(moveEntity);377 i = i + r;378 } while (i <= distance+5);379 boolean cc= i>distance;380 for (int j = 0; j < Math.abs(distance-i); ) {381 int r = RandomUtils.nextInt(1, 3);382 MoveEntity moveEntity = new MoveEntity();383 moveEntity.setX(cc?-r:r);384 moveEntity.setY(0);385 moveEntity.setSleepTime(RandomUtils.nextInt(100, 200));386 list.add(moveEntity);387 j = j+r;388 }389 return list;390 }391 static class MoveEntity{392 private int x;393 private int y;394 private int sleepTime;//毫秒395 public MoveEntity(){396 }397 public MoveEntity(int x, int y, int sleepTime) {398 this.x = x;399 this.y = y;400 this.sleepTime = sleepTime;401 }402 public int getX() {403 return x;404 }405 public void setX(int x) {406 this.x = x;407 }408 public int getY() {409 return y;410 }411 public void setY(int y) {412 this.y = y;413 }414 public int getSleepTime() {415 return sleepTime;416 }417 public void setSleepTime(int sleepTime) {418 this.sleepTime = sleepTime;419 }...

Full Screen

Full Screen

Source:PhotoMove.java Github

copy

Full Screen

...129 int i = 0;130 do {131 MoveEntity moveEntity = new MoveEntity();132 int r = RandomUtils.nextInt(5, 8);133 moveEntity.setX(r);134 moveEntity.setY(RandomUtils.nextInt(0, 1)==1?RandomUtils.nextInt(0, 2):0-RandomUtils.nextInt(0, 2));135 int s = 0;136 if(i/Double.valueOf(distance)>0.05){137 if(i/Double.valueOf(distance)<0.85){138 s = RandomUtils.nextInt(2, 5);139 }else {140 s = RandomUtils.nextInt(10, 15);141 }142 }else{143 s = RandomUtils.nextInt(20, 30);144 }145 moveEntity.setSleepTime(s);146 list.add(moveEntity);147 i = i + r;148 } while (i <= distance+5);149 boolean cc= i>distance;150 for (int j = 0; j < Math.abs(distance-i); ) {151 int r = RandomUtils.nextInt(1, 3);152 MoveEntity moveEntity = new MoveEntity();153 moveEntity.setX(cc?-r:r);154 moveEntity.setY(0);155 moveEntity.setSleepTime(RandomUtils.nextInt(100, 200));156 list.add(moveEntity);157 j = j+r;158 }159 return list;160 }161 static class MoveEntity{162 private int x;163 private int y;164 private int sleepTime;//毫秒165 public MoveEntity(){166 }167 public MoveEntity(int x, int y, int sleepTime) {168 this.x = x;169 this.y = y;170 this.sleepTime = sleepTime;171 }172 public int getX() {173 return x;174 }175 public void setX(int x) {176 this.x = x;177 }178 public int getY() {179 return y;180 }181 public void setY(int y) {182 this.y = y;183 }184 public int getSleepTime() {185 return sleepTime;186 }187 public void setSleepTime(int sleepTime) {188 this.sleepTime = sleepTime;189 }...

Full Screen

Full Screen

Source:SlideVerifyBlock.java Github

copy

Full Screen

...219 log.info("gap new = " + gapNew);220 float beishu = gapNew / gap;221 log.info("beishu = " + beishu);222 for (Point point : pointList) {223 point.setX((int) (point.getX() * beishu));224 point.setY((int) (point.getY() * beishu));225 }226 int prevX = 0;227 int prevY = 0;228 int sumx = 0;229 for (Point point : pointList) {230 int x = point.getX() - prevX;231 int y = point.getY() - prevY;232 actions.moveByOffset(x, y);233 sumx += x;234 prevX = point.getX();235 prevY = point.getY();236 }237 log.debug("sumx = " + sumx);...

Full Screen

Full Screen

Source:ImageUtil.java Github

copy

Full Screen

...140 int i = 0;141 do {142 MoveEntity moveEntity = new MoveEntity();143 int r = RandomUtils.nextInt(5, 8);144 moveEntity.setX(r);145 moveEntity.setY(RandomUtils.nextInt(0, 1)==1?RandomUtils.nextInt(0, 2):0-RandomUtils.nextInt(0, 2));146 int s;147 if(i/Double.valueOf(distance)>0.05){148 if(i/Double.valueOf(distance)<0.85){149 s = RandomUtils.nextInt(2, 5);150 }else {151 s = RandomUtils.nextInt(10, 15);152 }153 }else{154 s = RandomUtils.nextInt(20, 30);155 }156 moveEntity.setSleepTime(s);157 list.add(moveEntity);158 i = i + r;159 } while (i <= distance+5);160 boolean cc= i>distance;161 for (int j = 0; j < Math.abs(distance-i); ) {162 int r = RandomUtils.nextInt(1, 3);163 MoveEntity moveEntity = new MoveEntity();164 moveEntity.setX(cc?-r:r);165 moveEntity.setY(0);166 moveEntity.setSleepTime(RandomUtils.nextInt(100, 200));167 list.add(moveEntity);168 j = j+r;169 }170 return list;171 }172}...

Full Screen

Full Screen

Source:AndroidTest.java Github

copy

Full Screen

...73 rectangle.getPoint();74 rectangle.getDimension();75 rectangle.getWidth();76 rectangle.getHeight();77 rectangle.setX(5);78 rectangle.setY(100);79 rectangle.setWidth(400);80 rectangle.setHeight(500);81 Point point1 = buttons.btnNormal.getCenter();82 String deviceScreenSizeFromCapabilities = (String) androidDriver.getCapabilities().getCapability("deviceScreenSize");83 Dimension deviceDimension = androidDriver.manage().window().getSize();84 System.out.println("deviceScreenSizeFromCapabilities " + deviceScreenSizeFromCapabilities);85 System.out.println("deviceDimension" + deviceDimension);86// androidDriver.openNotifications();87// androidDriver.closeApp();88// androidDriver.close();89//90// Dimension dimension = buttons.btnNormal.getSize();91//92// System.out.println(dimension.width+" x "+ dimension.height);93//94//95// System.out.println(dimension);96 }97 @Test98 public void touchActions() throws InterruptedException {99 AndroidDriver androidDriver = DriverProvider.crateAndroidDriver(Appiums.LOCAL_APPIUM, Caps.getAndroidCapWithActivity(AndroidDevice.HUAWEI20));100 Buttons buttons = new Buttons(androidDriver);101 Point buttonCenter = buttons.btnNormal.getCenter();102 Point buttonCorner = buttons.btnNormal.getLocation();103 TouchAction touchAction = new TouchAction(androidDriver);104// for(int i=0;i<5;i++){105// System.out.print("----------------------\n");106//107// touchAction.press(PointOption.point(buttonCenter)).perform().moveTo(PointOption.point(buttonCorner)).release();108//109// Thread.sleep(500);110// }111//112/**NIE USUWAJ TO PONIZEJ FAJNIE DZIELI BUTTONA NA OBSZARY DO KLIKANIA*/113 AndroidElement btn = buttons.btnNormal;114 Rectangle btnRectangle = btn.getRect();115 int sektor = btnRectangle.getWidth() / 5;116 System.out.println(btnRectangle.getX());117 btnRectangle.setY((btnRectangle.y) + ((btnRectangle.height) / 2));118 for (int i = 1; i <= 5; i++) {119 btnRectangle.setX(btn.getLocation().x);120 btnRectangle.setX(btnRectangle.x + (i * sektor));121 System.out.println(btnRectangle.getX());122 Point npoint = new Point(btnRectangle.x - (sektor / 2), btnRectangle.y);123 touchAction.press(PointOption.point(npoint)).perform();124 Thread.sleep(1000);125 }126 }127 @Test128 public void dragDrop() throws InterruptedException {129 /**Start Appium z kodu*/130// AppiumDriverLocalService service = AppiumDriverLocalService.buildService(131// new AppiumServiceBuilder().usingDriverExecutable(new File("C:\\Program Files\\nodejs\\node.exe"))132// .withAppiumJS(new File("C:\\Users\\wulff\\AppData\\Local\\Programs\\Appium\\resources\\app\\node_modules\\appium\\build\\lib\\main.js"))133// .withLogFile(new File(System.getProperty("user.dir")+"\\src\\test\\resources\\logs\\log.txt"))134// .withArgument(GeneralServerFlag.LOCAL_TIMEZONE).usingPort(4723));...

Full Screen

Full Screen

Source:Rectangle.java Github

copy

Full Screen

...31 public int getY() {32 return y;33 }34 35 public void setX(int x) {36 this.x = x;37 }38 39 public void setY(int y) {40 this.y = y;41 }42 43 public int getHeight() {44 return height;45 }46 47 public void setHeight(int height) {48 this.height = height;49 }...

Full Screen

Full Screen

setX

Using AI Code Generation

copy

Full Screen

1package com.automationrhapsody.selenium;2import org.openqa.selenium.Rectangle;3import org.openqa.selenium.WebDriver;4import org.openqa.selenium.chrome.ChromeDriver;5public class SetX {6 public static void main(String[] args) {7 System.setProperty("webdriver.chrome.driver", "C:\\Users\\Dell\\Downloads\\chromedriver_win32\\chromedriver.exe");8 WebDriver driver = new ChromeDriver();9 Rectangle rect = driver.manage().window().getRect();10 System.out.println("Before setting X: " + rect.getX());11 rect.setX(100);12 System.out.println("After setting X: " + rect.getX());13 driver.quit();14 }15}

Full Screen

Full Screen

setX

Using AI Code Generation

copy

Full Screen

1package com.automationrhapsody.selenium;2import org.openqa.selenium.Rectangle;3public class SetXDemo {4 public static void main(String[] args) {5 Rectangle rectangle = new Rectangle(0, 0, 100, 100);6 System.out.println("Before setX: " + rectangle);7 rectangle.setX(100);8 System.out.println("After setX: " + rectangle);9 }10}11package com.automationrhapsody.selenium;12import org.openqa.selenium.Rectangle;13public class SetYDemo {14 public static void main(String[] args) {15 Rectangle rectangle = new Rectangle(0, 0, 100, 100);16 System.out.println("Before setY: " + rectangle);17 rectangle.setY(100);18 System.out.println("After setY: " + rectangle);19 }20}21package com.automationrhapsody.selenium;22import org.openqa.selenium.Rectangle;23public class SetWidthDemo {24 public static void main(String[] args) {25 Rectangle rectangle = new Rectangle(0, 0, 100, 100);26 System.out.println("Before setWidth: " + rectangle);27 rectangle.setWidth(200);28 System.out.println("After setWidth: " + rectangle);29 }30}

Full Screen

Full Screen

setX

Using AI Code Generation

copy

Full Screen

1import org.openqa.selenium.Rectangle;2Rectangle rect = new Rectangle(10,10,100,100);3rect.setX(20);4System.out.println(rect.getX());5import org.openqa.selenium.WebDriver;6import org.openqa.selenium.chrome.ChromeDriver;7import org.openqa.selenium.WebElement;8import org.openqa.selenium.By;9import org.openqa.selenium.interactions.Coordinates;10import org.openqa.selenium.interactions.Locatable;11System.setProperty("webdriver.chrome.driver", "C:\\Users\\username\\Downloads\\chromedriver_win32\\chromedriver.exe");12WebDriver driver = new ChromeDriver();13WebElement element = driver.findElement(By.id("lst-ib"));14Coordinates coord = ((Locatable)element).getCoordinates();15coord.onPage();16coord.inViewPort();17coord.inDom();18coord.setX(20);19System.out.println(coord.getX());

Full Screen

Full Screen

Selenium 4 Tutorial:

LambdaTest’s Selenium 4 tutorial is covering every aspects of Selenium 4 testing with examples and best practices. Here you will learn basics, such as how to upgrade from Selenium 3 to Selenium 4, to some advanced concepts, such as Relative locators and Selenium Grid 4 for Distributed testing. Also will learn new features of Selenium 4, such as capturing screenshots of specific elements, opening a new tab or window on the browser, and new protocol adoptions.

Chapters:

  1. Upgrading From Selenium 3 To Selenium 4?: In this chapter, learn in detail how to update Selenium 3 to Selenium 4 for Java binding. Also, learn how to upgrade while using different build tools such as Maven or Gradle and get comprehensive guidance for upgrading Selenium.

  2. What’s New In Selenium 4 & What’s Being Deprecated? : Get all information about new implementations in Selenium 4, such as W3S protocol adaption, Optimized Selenium Grid, and Enhanced Selenium IDE. Also, learn what is deprecated for Selenium 4, such as DesiredCapabilites and FindsBy methods, etc.

  3. Selenium 4 With Python: Selenium supports all major languages, such as Python, C#, Ruby, and JavaScript. In this chapter, learn how to install Selenium 4 for Python and the features of Python in Selenium 4, such as Relative locators, Browser manipulation, and Chrom DevTool protocol.

  4. Selenium 4 Is Now W3C Compliant: JSON Wireframe protocol is retiring from Selenium 4, and they are adopting W3C protocol to learn in detail about the advantages and impact of these changes.

  5. How To Use Selenium 4 Relative Locator? : Selenium 4 came with new features such as Relative Locators that allow constructing locators with reference and easily located constructors nearby. Get to know its different use cases with examples.

  6. Selenium Grid 4 Tutorial For Distributed Testing: Selenium Grid 4 allows you to perform tests over different browsers, OS, and device combinations. It also enables parallel execution browser testing, reads up on various features of Selenium Grid 4 and how to download it, and runs a test on Selenium Grid 4 with best practices.

  7. Selenium Video Tutorials: Binge on video tutorials on Selenium by industry experts to get step-by-step direction from automating basic to complex test scenarios with Selenium.

Selenium 101 certifications:

LambdaTest also provides certification for Selenium testing to accelerate your career in Selenium automation testing.

Run Selenium automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful