1. 前言
很多同學,使用AirtestIDE都是做移動端的測試,其實它還有個隱藏功能,就是做web自動化測試。
搞網頁測試,使用AirtestIDE的好處是,能借助selenium的輔助窗,幫助我們快捷地生產web自動化腳本。
這裏用到的庫叫做airtest-selenium。今天我們就利用airtest-selenium來完成一個簡單的實操練習:自動爬取百度熱搜標題。
2. 爬取標題的腳本
示例爲一個簡單的純py
腳本,它的功能是:
- 打開chrome瀏覽器
- 打開百度首頁
- 點擊“百度熱搜”
- 獲取熱搜標題並print出來
# -*- encoding=utf8 -*-
__author__ = "AirtestProject"
from airtest.core.api import *
auto_setup(__file__)
# 初始化並打開chrome瀏覽器
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from airtest_selenium.proxy import WebChrome
driver = WebChrome()
driver.implicitly_wait(20)
# 打開百度首頁
driver.get("https://www.baidu.com/")
# 點擊百度熱搜並切換到新標籤頁
driver.find_element_by_xpath("//*[@id=\"s-hotsearch-wrapper\"]/div/a/div/i").click()
driver.switch_to_new_tab()
# 打印百度熱搜榜的標題
for hot in driver.find_elements_by_class_name("c-single-text-ellipsis"):
print(hot.text)
3. 命令行運行Web自動化腳本
當然,寫好web自動化腳本之後,我們其實也不用依賴於AirtestIDE來運行的。我們完全可以脫離IDE。
但相比於在IDE上運行web腳本,我們只需要在選項設置裏面填一下chrome path這麼簡單。脫離IDE運行web腳本,我們所要準備的工作就多得多的。
1)python環境準備
首先確保我們有一個可用的python環境,其次,需要在環境裏面裝好第三方庫:airtest、airtest-selenium、selenium。
另外還需要注意下,selenium的版本不能大於4.0,因爲該版本airtest-selenium還未兼容。
2)chrome與chromedriver版本對應
另外,我們還需要確保運行環境設置好了版本對應的chromedriver,否則容易報錯:
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 98
Current browser version is 108.0.5359.73 with binary path C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
3)命令行運行
以上2個步驟都確認以後,我們可以非常簡單的在終端敲命令運行寫好的web自動化腳本(因爲這個練習,不需要生成報告什麼的,所以運行命令非常簡單):
4. 小結
那今天的web自動化小練習就到這裏啦,如果同學們還有別的想看的自動化腳本,歡迎給我們留言!
Airtest官網:https://airtest.netease.com/
Airtest教程官網:https://airtest.doc.io.netease.com/
搭建企業私有云服務:https://airlab.163.com/b2b
官方答疑 Q 羣:117973773
呀,這麼認真都看到這裏啦,幫忙點個推薦支持一下唄,灰常感謝~