airtest實現webui自動化測試


Selenium是一個用於Web應用程序的自動化測試工具。它直接運行在瀏覽器中,可以模擬用戶在瀏覽器上面的行為操作。在AirtestIDE中,開發者也給提供了使用Selenium的窗口。不過使用的框架是Airtest-Selenium框架。Airtest-Selenium是對selenium的python庫做的一層封裝,它添加了部分圖像識別的接口,也可以生成網頁版測試報告。

一、IDE中的Selenium窗口

默認情況下,IDE沒有並顯示Selenium的窗口,所以我們需要在IDE頂部的窗口菜單下,把Selenium Window勾選上,勾選之后Selenium的窗口才會顯示在IDE界面的左側。

 

Selenium Window給我們提供了一些常用的按鈕,比如點擊窗口下類似地球的按鈕,會自動幫我們在腳本編輯窗口插入一些初始化代碼:

插入代碼之前,我們需要在腳本窗口彈出的黃色提供框中,選擇Yes允許插入代碼:

這樣,腳本編輯窗就會自動插入如下代碼:

# 引入selenium的webdriver模塊
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from airtest_selenium.proxy import WebChrome

#創建一個實例,代碼運行到這里,會打開一個chrome瀏覽器
driver = WebChrome()
driver.implicitly_wait(20)

需要注意的是,如果是首次使用,IDE會彈窗提示需要設置谷歌瀏覽器的路徑:

這時我們就需要先到選項--設置中,找到Selenium那部分內容,然后把chrome的路徑設置好,才能正常插入上述代碼。

二、Selenium的常用方法

from airtest_selenium.proxy import WebChrome
import time


#打開瀏覽器
driver = WebChrome(r"D:\tools\driver\chromedriver.exe")
driver.implicitly_wait(20)
#設置瀏覽器最大化
driver.maximize_window()


#打開網頁
driver.get("http://www.baidu.com")

#輸入百度一下
driver.find_element_by_id('kw').send_keys("馬保國")

#點擊 百度一下
driver.find_element_by_id("su").click()

#點擊 馬保國 百度百科
driver.find_element_by_xpath('//div[@id="content_left"]/div[1]//h3').click()

#切換標簽頁面, 切換到新打開的標簽頁, airtest單獨封裝的方法
driver.switch_to_new_tab()

#獲取馬保國結束
titledesc = driver.find_element_by_xpath('//dd/h2').text
print(titledesc)

time.sleep(2)
#切換回上一頁
driver.switch_to_previous_tab()

#點擊 圖片
driver.find_element_by_xpath('//div[@class="s_tab_inner"]/a[3]').click()

#關閉瀏覽器
driver.quit()

三、Airtest-Selenium簡介

3.1.圖像識別接口

Airtest-Selenium對圖像識別的封裝有兩個接口,圖像識別點擊和圖像識別斷言:

①點擊Selenium Window下方的airtest_touch按鈕

在瀏覽器頁面上截取你想要點擊位置的圖片,雙擊完成截圖,腳本編輯窗口會自動生成1條圖像識別點擊的腳本

driver.airtest_touch(Template(r"tpl1620806672599.png", record_pos=(-0.17, -0.042), resolution=(1920, 1080)))

②點擊Selenium Window下方的airtest_template按鈕

在瀏覽器頁面上截取你想要進行斷言的圖片,雙擊完成截圖,腳本編輯窗口會自動生成1條圖像識別斷言腳本

 

driver.assert_template(Template(r"tpl1620806934003.png", record_pos=(-0.163, -0.039), resolution=(1920, 1080)), "成功打開百度首頁")

3.2.多標簽頁切換

多標簽頁

selenium提供了切換標簽頁的接口。

driver.switch_to.window(driver.window_handles[number])

這個語句執行后,可以切換到第number個打開的標簽頁。但是對於用戶來說,這個接口不是那么好理解與調用,因為這樣需要記住標簽打開的順序。

大部分時候,切換標簽頁的操作一般都出現在:打開新窗口、關閉標簽頁這兩種情況下。因此,Airtset-Selenium封裝了兩個接口:

driver.switch_to_new_tab()
driver.switch_to_previous_tab()

用戶只需在切換到最新打開的標簽頁時,調用switch_to_new_tab。另外在結束當前標簽頁時,切換到上一個打開的標簽頁時,調用switch_to_previous_tab()即可,

生成報告

被Airtest-Selenium封裝的接口,運行過后都會生成對應的報告,在AirtestIDE中可以直接點擊生成報告按鈕,即可查看對應的報告內容。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM