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,期待你的加入!!
欢迎关注个人微信公众号:软件测试君