irtest是網(wǎng)易出品的一款基于圖像識別和poco控件識別的一款UI自動化測試工具。Airtest的框架是網(wǎng)易團隊自己開發(fā)的一個圖像識別框架,這個框架的祖宗就是一種新穎的圖形腳本語言Sikuli。Sikuli這個框架的原理是這樣的,計算機用戶不需要一行行的去寫代碼,而是用屏幕截屏的方式,用截出來的圖形擺列組合成神器的程序,這是Airtest的一部分。??另外,Airtest也基于poco這個U控件搜索框架,這個框架也是網(wǎng)易自家的跨平臺U測試框架,原理類似于appium,通過控件的名稱,id之類的來定位目標控件,然后調(diào)用函數(shù)方法,例如click(),swip()之類的方法來對目標控件進行點擊或者是操作。我使用Airtest而不適用appium主要是因為Airtest環(huán)境搭建非常方便,基本上安裝后就把所有需要的工具都集成了,包括python和adb,Airtest中的Python和本機的Python是不一樣的,所以要在本機運行還需要額外安裝Python庫:pip install poco。因為Airtest是網(wǎng)易開發(fā)的,所以擁有比較友好的文檔和教程。
官方文檔
Airtest快速上手教程 https://airtest.doc.io.netease.com/
airtest-ide教程 https://airtest.readthedocs.io/zh_CN/latest/README_MORE.html#example
airtest教程 http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/1_quick_start.html
這次要寫的一個例子是抖音極速版賺金幣的簡單薅羊毛例子,非常簡單,主要是為了使用Airtest。
https://airtest.netease.com/下載對應(yīng)平臺的安裝包,安裝完后正常啟動即可
打開Airtest,在右側(cè)點擊刷新ADB,會出現(xiàn)已經(jīng)連接到電腦的機器(一定要打開USB調(diào)試模式),如果沒有的話,就重啟ADB,再進行刷新。出現(xiàn)連接機器后,在connect后面的下拉列表出現(xiàn)三個選項:Use javacap、Use ADB orientation、Use ADB touch。為了不出現(xiàn)莫名其妙的問題,最好全部選中,然后點擊connect連接,就能顯示出系統(tǒng)桌面。
Airtest在執(zhí)行的過程中,會向手機安裝幾個軟件:Yosemite(一種輸入法,主要是執(zhí)行輸入文字)、pocoservice-debug(執(zhí)行Airtest發(fā)來的命令),在連接真機的過程中,報了一個錯誤Failure [INSTALL_FAILED_OLDER_SDK],手機版本太低,不能安裝數(shù)據(jù)包。我有一個古董機,512運存的,Android版本是4.3,所以測試的時候一定要注意Android版本哦
這一篇我們主要不是講Airtest教程,所以不進行詳細講解。這里我推薦一個非常好的學習網(wǎng)站--嗶哩嗶哩,就是這個二次元編程網(wǎng)站。上面有很多詳細的視頻教程,花一個小時看一下,再把官方教程過一遍,就差不多了。我們就以實例代碼進行簡單講解。代碼如下:
from airtest.core.api import *
from airtest.cli.parser import cli_setup
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
class DouYin:
def __init__(self):
if not cli_setup():
auto_setup(__file__, logdir=True, devices=[
"Android://127.0.0.1:5037/emulator-5554?cap_method=JAVACAP&&ori_method=ADBORI&&touch_method=ADBTOUCH"
])
self.poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
size = self.poco.get_screen_size()
self.width = size[0]
self.height = size[1]
def VisitHome(self):
self.poco(text="抖音極速版").click()
# 進入短視頻頁面后,查找推薦元素是否存在
self.poco(name='com.ss.android.ugc.aweme.lite:id/amh').wait(30)
# 找到推薦元素表示已經(jīng)進入首頁,但是視頻加載需要一些時間,這里等待5秒
sleep(5)
try:
# 初次打開可能會出現(xiàn)青少年模式選項
self.poco(text='我知道了').click()
except:
pass
def LoopMove(self):
start_pos = (0.5 * self.width, 0.8 * self.height)
end_pos = (0.5 * self.width, 0.2 * self.height)
while True:
# 從底部滑到上面,切換視頻
swipe(start_pos, end_pos, duration=1)
# 每個視頻觀看20秒
sleep(20)
if __name__ == '__main__':
douyin = DouYin()
douyin.VisitHome()
douyin.LoopMove()
在使用py腳本運行時,如果是Linux或者macOS的用戶,請注意看運行結(jié)果是不是有報錯,提示adb沒有運行權(quán)限。
官方文檔已經(jīng)給我們提示過了
cd /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/airtest/core/android/static/adb/mac
chmod +x adb
主要是auto_setup中連接設(shè)備的配置,官方文檔中這樣解釋
我們在連接中增加了參數(shù)設(shè)置cap_method、ori_method、touch_method,分別對應(yīng)工具上的三個選項,不設(shè)置連接會出問題。
get_screen_size獲取屏幕大小,這樣對于不同的設(shè)備,不同的分辨率,滑動距離都是一樣的。poco(text="抖音極速版").click()搜索屏幕上的“抖音極速版”元素,點擊打開。要保證抖音在首頁顯示,如果不在首頁要做滑動處理。sleep(5)視頻加載需要時間,所以這里我們靜候5秒swipe(start_pos, end_pos, duration=1)執(zhí)行滑動操作,設(shè)置起點和終點以及滑動時間
然后就可以一直薅羊毛了,各種短視頻都可以,當然安裝完APP后,先手動打開登陸一下軟件更好,這樣我們的自動化操作就不需要做這些步驟了。
國工商銀行、中國農(nóng)業(yè)銀行、中國銀行和中國建設(shè)銀行于2019年9月11日至9月15日同時辦理中華人民共和國成立70周年雙色銅合金紀念幣兩批次的預約業(yè)務(wù)。公眾可通過上述四家銀行業(yè)金融機構(gòu)官方網(wǎng)站或前往其營業(yè)網(wǎng)點進行預約登記。
中國銀行負責天津、山西、福建、湖北、湖南、廣西、重慶、陜西等地區(qū);
如果你不在上面地區(qū),請點擊下面相應(yīng)銀行進行預約。
中國農(nóng)業(yè)銀行負責江蘇、安徽、江西、山東、海南、貴州、西藏、青海、新疆等地區(qū);
中國工商銀行負責上海、內(nèi)蒙古、遼寧、吉林、廣東(含深圳市)、四川等地區(qū);
中國建設(shè)銀行負責北京、河北、黑龍江、浙江、河南、云南、甘肅、寧夏等地區(qū)。
中華人民共和國成立70周年雙色銅合金紀念幣每人預約、兌換限額為20枚。
中華人民共和國成立70周年雙色銅合金紀念幣第一批次于2019年9月19日至9月23日辦理預約兌換,第二批次于2019年10月25日至10月30日辦理預約兌換。公眾可按照約定的時間,持在預約系統(tǒng)中登記的有效身份證件,前往約定的營業(yè)網(wǎng)點辦理預約兌換業(yè)務(wù)。
中行新中國成立70周年紀念幣微信預約入口
注:入口要預約開始時才開放,未到時間會顯示“暫無可預約的產(chǎn)品”。
中行新中國成立70周年紀念幣網(wǎng)站預約入口
中行可直接復制以下網(wǎng)址:https://cmcoins.boc.cn/BOC15_CoinSeller/welcome.html
ttp://www.gdyfs.com/xpj/
[原標題:《樂高世界》無限獲取金幣方法圖文一覽]
有2種方式在樂高世界得到無限金幣!
這里所說的無限金幣的獲取方法并不是直接就獲得999999的金幣,更像是一個種植錢幣的菜地。
方式1(已嘗試):
這種方法是比較簡單的。
步驟1,去模子”菜單,然后選擇一個對象。
步驟2,推薦購買比較便宜的對象,例如一朵花。
購買之后你就可以在地圖上無限的進行制造這朵花。
步驟3,現(xiàn)在開始無限制造花吧。
步驟4。現(xiàn)在通過破損花朵。來獲得金幣,每一個花朵都能夠獲得金幣。
步驟5,當你打破了花朵你就會獲得硬幣。可以說你只花了很少的錢購買一朵花的模子,卻獲得了無限量的金錢,固然這是比較需要時間的。
方式2(未嘗試)
這種方式很難但它需要更少的時間。
步驟1。找到一個寶箱(這就是為什么第二的方式更難-寶箱是罕見的)。
步驟2。打開它,得到一些東西。
步驟3。開始破損它得到硬幣。
因為一些緣故原由,是無法破損的,在你破損它的時候并不會消失。也會產(chǎn)生金幣。
云浮在線,詳情請訪問:http://www.gdyfs.com/yx/20150606/060625SD92015.html
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。