TA的每日心情 | 衰 2024-7-8 09:00 |
---|
签到天数: 943 天 连续签到: 1 天 [LV.10]测试总司令
|
ava实现
写一个类,继承FluentWait,例如:
public class AppiumDriverWait extends FluentWait
构造方法:
public AppiumDriverWait(AppiumDriver driver, long timeOutInSeconds) {
this(driver, new SystemClock(), Sleeper.SYSTEM_SLEEPER, timeOutInSeconds, DEFAULT_SLEEP_TIMEOUT);
}
然后在类里面用内部类ExpectedCondition,实现apply方法查找元素
public static WebElement findAndWait(AppiumDriver driver, final By by, long timeout) {
WebElement ele = new AppiumDriverWait(driver, timeout)
.until(new ExpectedCondition() {
public WebElement apply(AppiumDriver d) {
return d.findElement(by);
}
});
return textView;
}
最后在你的脚本里面用如下语句查找页面元素
AppiumDriverWait.findAndWait(driver, By.xpath("xpath"), 60L);
60秒内找到就返回webelement,找不到就报RuntimeException。
不过这是比较老的方法了,据说现在selenium最新jar包是java8平台上的了,java8支持函数闭包,应该会有更简洁的方法实现此功能。没用过java8,也没用过selenium3.0纯猜测。 |
|