UI自动化常用代码

driver.findElement(By.xpath(“//a[contains(text(), ’退出’)]))
driver.findElement(By.xpath(“//a[contains(@href, ‘logout’)]”));

// 被告出生年月
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementsByName('paySuitEntityDo.birthday')[0].removeAttribute('readonly');",
new Object[0]);
form3.findElement(By.name("paySuitEntityDo.birthday")).sendKeys("2017-04-05");

用js方法点击不可点击
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].click();", driver.findElement(By.xpath("//*[@id="login-success"]/a")));

用js方法上传附件
js.executeScript("document.getElementsByName('familyProof')[0].value='eXrv_bH2nEXT28sMoTz4JQ';",new Object[0]);

下拉框
Select sel = new Select(driver.findElement(By.xpath("//select[@name='province']")));
sel.selectByVisibleText("浙江省");
Thread.sleep(1000);

//打开新窗口
String thisHandle = driver.getWindowHandle();
for (String tempHandle : driver.getWindowHandles()) {
if (tempHandle.equals(thisHandle))
continue;
driver.switchTo().window(tempHandle);
}


明确的等待
WebDriverWait wait = new WebDriverWait(driver,10);
wait.until(new ExpectedCondition<WebElement>(){
@Override
public WebElement apply(WebDriver d) {
return d.findElement(By.xpath("//a[contains(@href,'/suit/start/updatesInformation.htm')]"));
}}).click();

隐性等待
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

如果元素不稳定有多个

try {
AL.Submit.click();
} catch (Exception e1) {
// TODO: handle exception
try {
AL.Submit1.click();
} catch (Exception e2) {
// TODO: handle exception
try {
AL.Submit2.click();
} catch (Exception e3) {
// TODO: handle exception
System.out.println(e3);
}
原文地址:https://www.cnblogs.com/TestMa/p/9605977.html