這段時(shí)間使用selenium webdriver做UI自動(dòng)化,積累了一些心得,匯總了常用的命令。
1、查找某個(gè)元素是否存在: bot.existElement(By.xpath("//a[contains(text(),'寧波測試商品002')]"))
2、根據(jù)xpath斷言某個(gè)元素是否存在: Assert.assertEquals(bot.findElements(By.xpath("//div[@class='g-group-name']/span")).get(0).getText(),"H1237","合伙人小隊(duì)頁面錯(cuò)誤!"); //index從0開始
3、根據(jù)classname斷言某個(gè)元素是否存在: Assert.assertEquals(bot.findElements(By.className("col-name")).get(1).getText(),"趙利群","設(shè)置默認(rèn)地址失。");
4、嘗試多種方法定位元素:By.name()、By.id()、By.className()、By.linkText()、By.xpath()、By.tagName()、By.cssSelector()
5、如果還是定位不到,可能是因?yàn)樵撛卮嬖趇frame里,需要先定位iframe再定位元素:
bot.typeInFrame(By.id("yueForm"),By.xpath("//input[@id='OTPCtl2']"),wybpassword);
bot.clickInFrame(By.id("yueForm"),By.id("bankCardSumbit"));
6、type失敗時(shí),可嘗試先使用click點(diǎn)擊輸入框,然后使用type:
bot.click(By.xpath("id('J_streetBox')/textarea"));//點(diǎn)擊輸入框
bot.type(By.name("street"), newaddress);//修改地址
7、切換窗口:bot.changeWindow(1);//index從0開始
8、比較跳轉(zhuǎn)后url是否正確:bot.compareUrl(1,"http://www.kaola.com/cart.html?from=Repeat_purchase")
9、有時(shí)用seleniumIDE可以實(shí)現(xiàn)replay操作,但是webdriver不行,增加等待時(shí)間或許可以解決問題:bot.wait(5);//0.1秒為單位