本文目錄一覽:
- 1、autojs怎麼運行腳本回到第一步
- 2、auto.js如何解析html
- 3、autojs用微信打開url
- 4、js如何在指定頁面跳轉到另一指定頁面
- 5、誰給我發一下讓屏幕上下不停滑動的auto.js的腳本?
- 6、autojs不跳轉程序
autojs怎麼運行腳本回到第一步
第一步、下載官方最新版本Auto.js軟體
第二步、打開Auto.js後可以看到項目界面,如果腳本已經有項目了不在項目界面,就點左下角的+加號,導入項目。
第三步、如果沒有項目,就選擇項目,會新建一個項目,出現的新建項目屬性頁面填一下就可以了。
第四步、主腳本是main.js,如果名稱不一樣可以改,創建成功會到如圖界面,運行的話點上面的右三角播放按鈕就可以了,記得有些操作是需要無障礙許可權的,要去設置下。
第五步、項目里可以包含多個腳本文件,可以單獨運行一個文件,點文件後面的播放三解按鈕就可以,或者點編輯按鈕,在編輯界面上也有運行播放按鈕。
第六步、這裡腳本是簡單的彈出提示,運行後可以看到運行結果。
auto.js如何解析html
URL:
編寫思路(入門級別)
1、打開谷歌瀏覽器
2、打開博客園登錄網頁地址
3、在用戶名輸入框內輸入用戶名
4、在密碼輸入框內輸入密碼
5、點擊登錄
6、檢測是否跳轉到了登錄成功的頁面
腳本如下圖:
4feb5d799ae52eea8c1b063cc8c60f85.png
現在我們來分解下輸入用戶名這個動作
1、首先找到用戶名輸入框
2、在輸入框中輸入用戶名
【找到用戶名輸入框】實現此步驟的前提就是需要掌握控制項的定位。具體在腳本中實現也就是圖中的第11行:
(‘//*[@autocomplete=”username”]’)
WEB控制項定位所做的事情,就是通過特定的方式找到我們需要操作的頁面控制項
那麼如何才能學會這個控制項定位呢?第一步就是簡單了解下前端的語言。和我一起往下看即可輕鬆學會。
二、WEB網頁文本—HTML5
要想掌握WEB自動化測試的控制項定位,我們首選要了解控制項是什麼。
控制項就是瀏覽器展示的前端語言生成對象。
web前端的基礎語言就是HTML5
依舊是老套路,拿博客園舉例:
5faa8b60ca05f50f4c0d6430574214fd.png
用戶打開瀏覽器,看到的用戶名輸入框、密碼輸入框、登陸按鈕、立即註冊等等所有,都是瀏覽器展示的HTML5語言的對象。
我們按下F12鍵即可打開瀏覽器的調試模式,來查看網頁的HTML5源代碼。
如下圖:
按下F12後右邊頁面中Elements選項對應的就是網頁的html5代碼
第一次接觸肯定覺得非常晦澀難懂、雲里霧裡。但是相信我,萬事開頭難!你在看我自動化測試思維的文章以前不也是覺得自動化測試非常高大上嗎?
不了解什麼是自動化測試思維?戳下方5分鐘即可學會☟☟☟
【自動化測試入門】自動化測試思維
00a821b679ab09e913981cf6a655f861.png
HTML5一個控制項的寫法一般是2個尖括弧成對出現。
一、第一個尖括弧的第一個單次為控制項類型,之後是控制項屬性。
二、第二個尖括弧表示此控制項的尾部。
三、2個尖括弧中間為控制項在前端顯示的文字部分。
舉例說明的話。控制項類型是狗的類型(中華田園犬、哈巴狗、牧羊犬等),控制項屬性就是這條狗的名字、性別、體重、毛髮顏色等。2個尖括弧中間的文字,就是你想在此頁面上展示的這個狗的’名字’。
還是拿博客園的登陸界面舉例來說:
點擊’小箭頭’定位控制項,或者在控制項處右鍵選中’檢查元素’,即可定位到指定的控制項
7b1de1397c71dcde07d8d9da72e61ab5.png 控制項的源碼為:
input _ngcontent-miv-c141=””matinput=””formcontrolname=”username”placeholder=”登錄用戶名 / 郵箱”autocomplete=”username” id=”mat-input-0″ aria-describedby=”mat-error-0″ aria-invalid=”true” aria-required=”false”
input就是控制項類型
input以外的就都是控制項屬性
這個輸入框的控制項屬性有:
_ngcontent-miv-c141=””
matinput=””
formcontrolname=”username”
placeholder=”登錄用戶名 / 郵箱”
autocomplete=”username”
id=”mat-input-0″
aria-describedby=”mat-error-0″
aria-invalid=”true”
aria-required=”false”
三、基於控制項的唯一控制項屬性定位
了解了什麼是控制項,現在我們在上手控制項的定位。
selenium有八種定位控制項的方式,有6種都是基於HTML5原生控制項的單一控制項屬性來定位的。
id定位:
find_element_by_id()
name定位:
find_element_by_name()
class定位:
find_element_by_class_name()
tag定位:
find_element_by_tag_name()
link定位:
find_element_by_link_text()
partial_link定位:
find_element_by_partial_link_text()
以下兩種為特定的2種控制項定位方法,下一篇文章再做詳解。 xpath定位:find_element_by_xpath() CSS定位:find_element_by_css_selector()
下面我將舉例來講解這6種基於單一控制項屬性的定位方法。
還是拿博客園的登陸界面舉例來說:
833005656b1e6d0fa4a7e2cc58d875a5.png
登陸用戶名的輸入框的HTML5源碼為:
input _ngcontent-miv-c141=””matinput=””formcontrolname=”username”placeholder=”登錄用戶名 / 郵箱”autocomplete=”username” id=”mat-input-0″ aria-describedby=”mat-error-0″ aria-invalid=”true” aria-required=”false”
這個輸入框的控制項屬性有:
_ngcontent-miv-c141=””
matinput=””
formcontrolname=”username”
placeholder=”登錄用戶名 / 郵箱”
autocomplete=”username”
id=”mat-input-0″
aria-describedby=”mat-error-0″
aria-invalid=”true”
aria-required=”false”
對應的定位方法:
id屬性來定位此控制項
寫法為:
find_element_by_id(mat-input-0)
name屬性來定位此控制項
此控制項前端開發沒有定義name屬性,則無法使用此定位方法
tag屬性來定位此控制項(控制項的類型)
寫法為:
find_element_by_tag_name(‘input’)
class屬性來定位此控制項
寫法為:
find_element_by_class_name(mat-input-0)
另外兩種定位是針對link屬性的控制項,也就是鏈接控制項。如下圖:
依舊是老老路。使用博客園登陸頁舉例:
【立即註冊】就是頁面中的一個link控制項,其作用就是跳轉到註冊頁面。
fe0c7b4e9f770591aeaa13a7a9e5ec43.png
_ngcontent-arq-c141=”” href=”/signup?returnUrl=https:%2F%2F”立即註冊
他的控制項屬性有
link定位(通過link控制項的文本值)
find_element_by_link_text(‘立即註冊’)
但是部分頁面會存在,link的文本值非常長,所以就發明了partial_link定位。
如下圖中的百度文庫的某一頁面:
5ddb0ca6201cd203245824c06c9e7932.png link的文本值為:全國2018年10月04741計算機網路原理真題以及答案解析
定位的腳本就可以寫成:(只取文本的某一段值即可)
find_element_by_link_text(‘04741計算機網路’)
但是這樣的定位方式存在一個致命且常見的問題:
隨著前端的技術不斷的發展,頁面的複雜度越來越高。一個頁面的控制項越來越多(tag不唯一),id、name、class_name可能有很多重名或者完全是動態的一串字母(id、name、class_name、link_name可能都不唯一),我們基於唯一控制項屬性定位的在特別複雜的項目上可能完全無法完成UI自動化測試的定位工作。
autojs用微信打開url
微信小程序。推出了一個新組件web-view,可以在這個組件中打開你的html5網頁,而且可以在web-view裡面打開網頁的a標籤,也就是說可以實現鏈接跳轉。
js如何在指定頁面跳轉到另一指定頁面
要實現從一個頁面A跳到另一個頁面B,js實現就在A的js代碼加跳轉代碼
JS跳轉大概有以下幾種方式:
第一種:(跳轉到b.html)
script language=”javascript” type=”text/javascript”
window.location.href=”b.html”;
/script
第二種:(返回上一頁面)
script language=”javascript”
window.history.back(-1);
/script
第三種:
script language=”javascript”
window.navigate(“b.html”);
/script
第四種:
script language=”JavaScript”
self.location=』b.html』;
/script
第五種:
script language=”javascript”
top.location=』b.html』;
/script
誰給我發一下讓屏幕上下不停滑動的auto.js的腳本?
這幾行腳本會先下滑在上滑停兩秒在重複
“auto”;
while (true) {
swipe(device.width / 2, 800, device.width / 2, 500, 2000);
swipe(device.width / 2, 500, device.width / 2, 800, 2000);
sleep(2000)
}
autojs不跳轉程序
autojs不跳轉程序有可能是死機了,這時候需要重啟嘗試一下。如果還不行,那麼你就需要利用app自帶的跳轉來跳轉。因為上面這些功能是不對外開放的介面,是不允許被調用的。
原創文章,作者:JMXX,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/147177.html