car*_*rol 4 java selenium selenium-webdriver
我正在学习Java Maven Selenium.我想在Selenium中使用这样的东西implicitlyWait.
这是我的简单代码:
package com.org.learningMaven;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.Test;
public class HelloWorldTest {
@Test
public void login() {
WebDriver driver = new FirefoxDriver();
driver.get("https://www.facebook.com/");
driver.findElement(By.id("email")).click();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.findElement(By.id("email")).sendKeys("myemail@yahoo.com");
}
private void sendKeys(Keys enter) {
// TODO Auto-generated method stub
}
}
Run Code Online (Sandbox Code Playgroud)
此代码无效.它只需打开Facebook,点击电子邮件字段并输入我的电子邮件ID,而不是在输入我的电子邮件前等待10秒.
Par*_*ras 12
Implicit Wait并且Explicit Waits不会那样工作,他们将在指定的持续时间内最大等待元素,如果他们在下一步之前找到该元素将被执行.
如果您希望测试等待确切的持续时间,您可能想要使用.
Thread.sleep(Time duration in milliseconds);
Run Code Online (Sandbox Code Playgroud)
您可能想要参考Diff b/w Implict Wait和Explicit Wait
显式等待:显式等待是您定义的代码,用于在进一步执行代码之前等待某个条件发生.
隐式等待:隐式等待是告诉WebDriver在尝试查找一个或多个元素(如果它们不是立即可用)时轮询DOM一段时间.
Thread.sleep:在睡眠代码中它将始终等待上述秒数,即使页面准备好在1秒后进行交互.所以这会减慢测试速度.
| 归档时间: |
|
| 查看次数: |
17850 次 |
| 最近记录: |