1、前言
元素定位能夠說是學自動化測試中必會技能之一,也能夠說是通往自動化之路的開門鑰匙。html
就元素定位方法,除了咱們經常使用並熟知的8種元素定位方法以外,還有一種定位方法能夠說是一種特殊的存在,那就是JQuery定位,是經常使用8種定位以外的方法,相對於js定位,JQuery語法比較簡潔一些,並且方便快捷。jquery
2、關於jQuery 語法
jQuery 語法是爲 HTML 元素的選取編制的,能夠對元素執行某些操做。chrome
基礎語法是:$(selector).action()api
美圓符號定義 jQuery微信
選擇符(selector)「查詢」和「查找」 HTML 元素ide
jQuery 的 action() 執行對元素的操做測試
示例ui
關於更多jquery語法能夠學下w3school的教程:http://www.w3school.com.cn/jquery/jquery_syntax.asp。this
3、使用JQuery定位元素
一、根據id定位 spa
String jq_input = "$('#kw').val('使用id定位')"; //選取id爲kw的元素 js.executeScript(jq_input); Thread.sleep(2000);
二、根據type定位
jq_input = "$(':text').val('使用type定位')"; //選取全部 type="text" 的 <input> 元素 js.executeScript(jq_input); Thread.sleep(2000);
三、根據class定位
jq_input = "$('.s_ipt').val('使用class定位')";//選取全部 class="s_ipt" 的元素 js.executeScript(jq_input); Thread.sleep(2000);
四、按層級定位
jq_input = "$('.s_ipt').val('使用class定位')"; //選取全部 span標籤下子元素爲input標籤且class屬性爲s_ipt 的元素 js.executeScript(jq_input); Thread.sleep(2000);
jq_input = "$('input.s_ipt').val('不帶有標籤的層級定位 ')";//選取全部 input標籤且class屬性爲s_ipt 的元素 js.executeScript(jq_input); Thread.sleep(2000);
jq_input = "$('span>input:first').val('選擇第一個元素標籤訂位 ')";//第一個 <input> 元素 js.executeScript(jq_input); Thread.sleep(2000);
jq_input = "$('span input:eq(0)').val('選擇最後一個元素')";//列表中的第1個元素(index 從 0 開始)6 js.executeScript(jq_input); Thread.sleep(2000);
4、使用Jquery定位方式完成自動化測試
既然咱們已經掌握了jquery這種定位方式,下面咱們就用jquery定位方式,模擬360影視看看登錄操做實際代碼以下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 package com.autotest.api; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; /** * selenium 使用Jquery定位方式模擬登錄實例 * * @author longrong.lang */ public class LoadJQuery { private static WebDriver driver; JavascriptExecutor js; @BeforeClass public void beforeClass() { driver = new ChromeDriver(); driver.manage().window().maximize(); driver.get("https://i.360kan.com/login"); js = (JavascriptExecutor) driver; } @Test public void testJQuery() throws InterruptedException { String userName = "$('input[name=\"loginname\"]').val('Refain 博客園');"; js.executeScript(userName); String passWord = "$('input[name=\"loginpassword\"]').val('111111');"; js.executeScript(passWord); String login = "$('.js-b-signin-c-btn [href]').click();"; js.executeScript(login); Thread.sleep(3000); } @AfterClass public void afterClass() { if (driver != null) { driver.quit(); } } }
5、運行效果:
EOF
本文做者:久曲建的測試窩
本文連接:https://www.cnblogs.com/longronglang/p/11178863.html
關於博主:評論和私信會在第一時間回覆。或者直接私信我。
版權聲明:本博客全部文章除特別聲明外,均採用 BY-NC-SA 許可協議。轉載請註明出處!
聲援博主:若是您以爲文章對您有幫助,能夠點擊文章右下角【推薦】一下。您的鼓勵是博主的最大動力!
優秀不夠,你是否無可替代
軟件測試交流QQ羣:721256703,期待你的加入!!
歡迎關注個人微信公衆號:軟件測試君