自动化测试开发二阶段考题
要进行手机兼容测试,现有5部手机接入电脑,用面向对象的思想设计云测平台,请你完成如何进行设备名称的获取,并完成对你的代码进行测试?
import os
from time import sleep
from appium import webdriver
from appium.webdriver.common.mobileby import MobileBy
from appium.webdriver.common.touch_action import TouchAction
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
class AppDriver:
def __init__(self):
self.desired_caps = {
"platformName": "Android",
"plattormVersion": "5.11",
"deviceName": "DemoDevice",
}
def click_text(self, timeout=50, frequency=1, txt=None):
"""
点击文本方法
:param timeout: 超时时间
:param frequency: 检查频率
:param txt: 传入要点击的文本
:return:
"""
wait = WebDriverWait(self.driver, timeout, frequency)
element = wait.until(EC.presence_of_all_elements_located((MobileBy.ANDROID_UIAUTOMATOR, 'text(txt)')))
element.click()
def get_driver(self):
"""
get_driver方法
:return:
"""
self.driver = webdriver.Remote(command_executor='http://172.16.3.200:4723/wd/hub',
desired_capabilities=self.desired_caps)
def cat_uuid(self):
"""
查看uuid列表
:return: 返回uuid列表
"""
self.uuid_list = os.system("adb devices list ")
return self.uuid_list
def right(self):
"""
向右滑动屏幕
:return:
"""
self.driver.swipe(start_x=129, start_y=618, end_x=300, end_y=618)
def left(self):
"""
向左滑动屏幕
:return:
"""
self.driver.swipe(start_x=550, start_y=618, end_x=320, end_y=618)
def down(self):
"""
向下滑动屏幕
:return:
"""
self.driver.swipe(start_x=300, start_y=618, end_x=300, end_y=1003)
def up(self):
"""
向上滑动屏幕
:return:
"""
self.driver.swipe(start_x=300, start_y=1003, end_x=300, end_y=618)
if __name__ == '__main__':
mytest = AppDriver()
uuid_list = mytest.cat_uuid
for i in uuid_list:
os.system(f"adb adb connect {i}")