day:35 app自动化实战
一、打开模拟器或手机

二、连接模拟器
adb connect 127.0.0.1:模拟器的端口号
夜神模拟器

逍遥模拟器

三、安装测试包
adb install 安装包的window路径


四、打开appium


五、sdk中的tools中的uiautomatorviewer.bat

1、创建桌面快捷模式

2、双击打开,获取页面的页面元素


3、更换插件
这个插件(有xpath,如果没有xpath的)


替换成uiautomatorviewer.bat步骤:
a、第一步:再tools下的lib中替换jar包

b、第二包存放在
adt-bundle-windows-x86_64-20140702\sdk\platforms\android-20

c、第三:将tools下uiautomatorviewer.bat删除,用这个最新的插件

d、第四:创建快捷方式

二、pycarm中参数
以夜神模拟器为例(手机)
mport unittest #导入unittest 框架,python自带的框架
from appium import webdriver #导入appium模块
from time import * #导入时间
from HTMLTestRunner3_New import HTMLTestRunner
class appceshi(unittest.TestCase): #创建一个类,继承unittest.case的类
def setUp(self) -> None:
cs={
'platformName':'Android', #平台系统:Android or Ios
'deviceName':'OPPO R17', #设备名称
'platformVersion':'android-7.1W', #平台版本
'appPackage':'com.baidu.yuedu', #包名
'appActivity':'com.baidu.yuedu.splash.SplashActivity', #活动activity
'unicodeKeyboard': True, #使用unicode编码方式发送字符串 }
'resetKeyboard':True} #是将键盘隐藏起来
self.dx=webdriver.Remote("http://127.0.0.1:4723/wd/hub",cs)
sleep(15)
def tearDown(self) -> None:
self.dx.quit()
def test1_jrts(self):#进入图书界面 self.dx.find_element_by_xpath("//android.widget.TextView[@text='图书']").click()
sleep(5)
if name == 'main':
#unittest.main() #调用所有的用例
1、查看参数数据:
系统和平台版本:

设备名称:

包名和活动路径名
dos命令:aapt d badging bao在window的路径


对象:

2、案例:(平板)
from appium import webdriver
from time import *
cs={
'platformName':'Android', #平台系统:Android or Ios
'deviceName':'OPPO R17', #设备名称
'platformVersion':'android-5.1W', #平台版本
'appPackage':'com.moji.mjweather', #包名
'appActivity':'com.moji.mjweather.LauncherActivity', #activity
'unicodeKeyboard': True, #使用unicode编码方式发送字符串 }
'resetKeyboard':True} #是将键盘隐藏起来
dx=webdriver.Remote("http://127.0.0.1:4723/wd/hub",cs)
sleep(10)
dx.find_element_by_id("com.moji.mjweather:id/jc").click() #同意进入
dx.find_element_by_id("com.moji.mjweather:id/azz").send_keys("北京市")
三、作业:

案例:
mport unittest
from appium import webdriver #导入appium模块
from time import * #导入时间
class App_case(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
pass
@classmethod
def tearDownClass(cls) -> None:
pass
def setUp(self) -> None:
# 连接参数 cs
cs = {
'platformName': 'Android', # 平台系统:Android or Ios
'deviceName': 'OPPO R17', # 设备名称
'platformVersion': 'android-5.1w', # 平台版本
'appPackage': 'com.baidu.yuedu', # 包名
'appActivity': 'com.baidu.yuedu.splash.SplashActivity', # 活动activity
'unicodeKeyboard': True, # 使用unicode编码方式发送字符串 }
'resetKeyboard': True} # 是将键盘隐藏起来
self.dx = webdriver.Remote("http://127.0.0.1:4723/wd/hub", cs)
sleep(10)
def tearDown(self) -> None:
sleep(4)
self.dx.quit() # 关闭网页
def test1_ts(self):#进入图书界面
self.dx.find_element_by_id("com.baidu.yuedu:id/righttitle").click()#点击图书
sleep(5)
def test2_gwc(self):#进入购物车界面并退出
self.test1_ts()
self.dx.find_element_by_id("com.baidu.yuedu:id/ball").click()#点击购物车
sleep(5)
self.dx.find_element_by_id("com.baidu.yuedu:id/backbutton").click()#点击退出
sleep(5)
def test3_ss(self):#搜索图书内容
self.dx.find_element_by_id("com.baidu.yuedu:id/search_account").click()#点击搜索标志
sleep(5)
self.dx.find_element_by_id("com.baidu.yuedu:id/full_text_search_bar_input").send_keys("大哥")#输入内容
sleep(5)
self.dx.find_element_by_id("com.baidu.yuedu:id/sug_item_name").click()#点击作者名称
sleep(5)
self.dx.find_element_by_id("com.baidu.yuedu:id/full_text_search_bar_search").click()#点击搜索
sleep(5)
self.dx.find_element_by_id("com.baidu.yuedu:id/full_text_search_bar_back").click()#点击退出
sleep(5)
def test4_sz(self): #进入设置界面
self.dx.find_element_by_id("com.baidu.yuedu:id/title_account").click()#点击我的按钮
sleep(5)
self.dx.find_element_by_id("com.baidu.yuedu:id/new_my_setting").click()#点击设置
sleep(5)
def test5_wifi(self): # 设置wifi
self.test4_sz()
self.dx.find_element_by_id("com.baidu.yuedu:id/rl_sync_wifi").click()#点击wifi
sleep(5)
if name == 'main':
unittest.main()
lj=r"C:\teststudy\pythonStu" #相对路径 d=unittest.TestLoader().discover(start_dir=lj,pattern="apptestone.py")
bglj=r"C:\teststudy\pythonStu" #相对路径
new=strftime("%y-%m-%d %H-%M-%S")
file=lj+"/"+str(new)+"uizdh1.html"
f=open(file,"bw")
b=HTMLTestRunner(
stream=f,description="自动化执行情况",title="ui自动化测试报告",
tester="th"
)
b.run(d)
浙公网安备 33010602011771号