用jQuery作自動化測試是怎樣一種感受?

用jQuery作自動化測試是怎樣一種感受?

1、前言
元素定位能夠說是學自動化測試中必會技能之一,也能夠說是通往自動化之路的開門鑰匙。html

就元素定位方法,除了咱們經常使用並熟知的8種元素定位方法以外,還有一種定位方法能夠說是一種特殊的存在,那就是JQuery定位,是經常使用8種定位以外的方法,相對於js定位,JQuery語法比較簡潔一些,並且方便快捷。jquery

2、關於jQuery 語法
jQuery 語法是爲 HTML 元素的選取編制的,能夠對元素執行某些操做。chrome

基礎語法是:$(selector).action()api

美圓符號定義 jQuery微信

選擇符(selector)「查詢」和「查找」 HTML 元素ide

jQuery 的 action() 執行對元素的操做測試

示例ui

  • $(this).hide() - 隱藏當前元素
  • $("p").hide() - 隱藏全部段落
  • $(".test").hide() - 隱藏全部 class="test" 的全部元素
  • $("#test").hide() - 隱藏全部 id="test" 的元素
    提示:jQuery 使用的語法是 XPath 與 CSS 選擇器語法的組合。

關於更多jquery語法能夠學下w3school的教程:http://www.w3school.com.cn/jquery/jquery_syntax.aspthis

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);
  • 選擇指定元素 標籤:eq(索引位) – 從0開始
    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、運行效果:

用jQuery作自動化測試是怎樣一種感受?

EOF

本文做者:久曲建的測試窩
本文連接:https://www.cnblogs.com/longronglang/p/11178863.html
關於博主:評論和私信會在第一時間回覆。或者直接私信我。
版權聲明:本博客全部文章除特別聲明外,均採用 BY-NC-SA 許可協議。轉載請註明出處!
聲援博主:若是您以爲文章對您有幫助,能夠點擊文章右下角【推薦】一下。您的鼓勵是博主的最大動力!
優秀不夠,你是否無可替代

軟件測試交流QQ羣:721256703,期待你的加入!!

歡迎關注個人微信公衆號:軟件測試君
用jQuery作自動化測試是怎樣一種感受?

相關文章
相關標籤/搜索