1.元素的定位
1.CSS 定位
- CSS(Cascading Style Sheets)是一種語言,它被用來描述HTML 和XML 文檔的表現(xiàn)。
- CSS 使用選擇器來為頁面元素綁定屬性。這些選擇器可以被selenium 用作另外的定位策略
- CSS的獲取可以用chrome的F12開發(fā)者模式中Element-右鍵-copy-copy selector來獲取
id選擇器,類選擇器,標簽選擇器,父代選擇器
?2.Xpath定位
- 什么是XPath:http://www.w3.org/TR/xpath/
- XPath 基礎(chǔ)教程:http://www.w3schools.com/xpath/default.asp

?2.第一個測試案例
在百度首頁輸入框中輸入軟件測試去查找,并驗證搜索結(jié)果
private static void test02() throws InterruptedException {
// 創(chuàng)建驅(qū)動
ChromeOptions options = new ChromeOptions();
options.addArguments("--remote-allow-origins=*");
WebDriver webDrive = new ChromeDriver(options);
// 打開百度頁面(
webDrive.get("https://www.baidu.com");
// 輸入軟件測試
webDrive.findElement(By.cssSelector("#kw")).sendKeys("軟件測試");
// 點擊百度一下按鈕
webDrive.findElement(By.cssSelector("#su")).click();
// 驗證結(jié)果,找到‘軟件測試’文案對應(yīng)的元素
// 等待4s
sleep(4000);
List<WebElement> webElements = webDrive.findElements(By.cssSelector("em"));
if (webElements.size() > 0) {
System.out.println("測試成功");
} else {
System.out.println("測試失敗");
}
}
可以看到運行結(jié)果如下:
?
3.測試練習(xí)
- click點擊對象
- send_keys 在對象上模擬按鍵輸入
- clear 用于清空對象輸入的文本內(nèi)容
- ?submit 用于提交,點擊的元素必須在form表單中
- text 用于獲取元素的文本信息
1.添加等待
強制等待:sleep(1000)
隱式等待:
顯示等待:
2.獲取url,title
// 獲取當(dāng)前頁面的url
String url = webDriver.getCurrentUrl();
// 獲取到當(dāng)前頁面的title
String title = webDriver.getTitle();
3.對瀏覽器大小進行設(shè)置
最大化: maximize
設(shè)置大小:setSize
全屏:fullScreen
// 瀏覽器最大化
webDriver.manage().window().maximize();
// 瀏覽器全屏
webDriver.manage().window().fullscreen();
// 設(shè)置瀏覽器高度和寬度像素點都是500px
webDriver.manage().window().setSize(new Dimension(500, 500));
4.操作瀏覽器前進后退
navigate文章來源:http://www.zghlxwxcb.cn/news/detail-586603.html
webDriver.navigate().back();
sleep(3000);
// 瀏覽器前進
webDriver.navigate().forward();
sleep(3000);
// 瀏覽器刷新
webDriver.navigate().refresh();
5.定位一組元素文章來源地址http://www.zghlxwxcb.cn/news/detail-586603.html
// 獲取當(dāng)前頁面的url
String url = webDriver.getCurrentUrl();
// 獲取到當(dāng)前頁面的title
String title = webDriver.getTitle();
// 瀏覽器最大化
webDriver.manage().window().maximize();
// 瀏覽器全屏
webDriver.manage().window().fullscreen();
// 設(shè)置瀏覽器高度和寬度像素點都是500px
webDriver.manage().window().setSize(new Dimension(500, 500));
webDriver.navigate().back();
sleep(3000);
// 瀏覽器前進
webDriver.navigate().forward();
sleep(3000);
// 瀏覽器刷新
webDriver.navigate().refresh();
// 按下Control+A
webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.CONTROL + "A");
sleep(3000);
// 按下Control+X
webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.CONTROL + "X");
sleep(3000);
// 按下Control+V
webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.CONTROL + "V");
//右擊按鈕
actions.contextClick(target).perform();
// 獲取到所有的input標簽對應(yīng)的元素
List<WebElement> webElements = webDriver.findElements(By.cssSelector("input"));
// 判斷每一個input標簽里面type值是checkbox進行點擊,否則不點擊
for(int i = 0; i < webElements.size(); i++) {
if(webElements.get(i).getAttribute("type").equals("checkbox")) {
webElements.get(i).click();
} else {
;
}
}
到了這里,關(guān)于【軟件測試】selenium中元素的定位的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!