#########
环境准备
1.安装jdk+sdk
2.安装appium(用node语言写的),安装node
3.导入appium_Python_Client类库。appium做代理服务器
4.手机模拟器genymotion或者真机连接电脑
5.真机连接步骤数据线连接电脑,打开usb调试,打开调试授权(手机有驱动程序)。adb devices找不到设备时,打开设备管理器查看有无报错,返回码多少
#########
#找设备名adb devices
#包名模块名获取,手机打开对应程序执行adb shell dumpsys activity activities |findstr mFocusedActivity
#从文件中读取多位多组数的混合运算的测试
#导入appium类库
from appium.webdriver.webdriver import WebDriver
import csv
#定义一个字典类型,存放参数设置
caps={}
#设置测试框架名称,从sdk导入的
caps['automationName']='UiAutomator2'
caps['platformName']='Android'
caps['platformVersion']='6.0'
#获取设备名adb devices
caps['deviceName']='192.168.111.101:5555'
#获取包名模块名adb shell dumpsys activity activities |findstr mFocusedActivity
#adb shell命令 通过dumpsys 活动的activity activities
#通过打开sdk/tools/uiautomatorviewer.bat下进程,抓屏获取当前的包
caps['appPackage']='com.android.calculator2'
caps['appActivity']='.Calculator'
driver=WebDriver('http://127.0.0.1:4723/wd/hub',caps)
#传入相关测试数据
#通过文件获取测试数据
file1=open("testdata3.csv","r")
tables=csv.reader(file1)
#将data数据最后添加测试结果为报告
file2=open('testresul.csv','w',newline='')
writer=csv.writer(file2)
for row in tables:
print(row[0])
print(row[1])
print(row[2])
print(row[3])
driver.find_element_by_id('com.android.calculator2:id/formula').send_keys(row[0]+row[1]+row[2])
driver.find_element_by_id('com.android.calculator2:id/eq').click()
result=driver.find_element_by_id('com.android.calculator2:id/formula').text
if(int(result)==int(row[3])):
print("测试通过")
#使从data读到的row末尾加上字段
row.append('ok')
#写入
writer.writerow(row)
else:
print("测试失败")
row.append('bad')
writer.writerow(row)
file2.close()