江西省城乡建设厅网站查询证件,汕头自动seo,龙岗附近做网站公司,公司软文代写之前已经讲述怎样手动使用appium-desktop启动测试机上的app#xff0c;但我们实际跑自动化脚本的过程中#xff0c;是需要用脚本调用appium启动app的#xff0c;接下来就尝试写Python脚本启动app并登陆app。环境为Windows10 Python3.7 appium1.18.0 Android手机 今日头条…
之前已经讲述怎样手动使用appium-desktop启动测试机上的app但我们实际跑自动化脚本的过程中是需要用脚本调用appium启动app的接下来就尝试写Python脚本启动app并登陆app。环境为Windows10 Python3.7 appium1.18.0 Android手机 今日头条app Pycharm
一连接测试手机获取测试机及被测APP配置
具体的获取方法请参考APP自动化测试之appium连接真机启动app配置信息如下
{platformName: Android,platformVersion: 10,deviceName: PCT_AL10,appPackage: com.ss.android.article.news,appActivity: .activity.MainActivity
}
二编写Python脚本启动app
1编辑器推荐大家使用PyCharm下载pycharm社区版本免费无需破解。
2因为登陆需要输入账号、密码所以这里新增了两个参数。参数unicodeKeyboard即是否启用Unicode格式输入字符串默认值为False设置为True则表示启用。参数resetKeyboard即使用unicodeKeyboard功能进行Unicode输入后是否将键盘重置为原始状态默认False。
desired_caps {platformName: Android,platformVersion: 10,deviceName: PCT_AL10,appPackage: com.ss.android.article.news,appActivity: .activity.MainActivity,unicodeKeyboard: True,resetKeyboard: True,
}
3传入desired_caps通过appium启动app构造driver对象即创建一个session。
driver webdriver.Remote(http://127.0.0.1:4723/wd/hub, desired_caps)
appium在本机开启的话则IP为127.0.0.1端口默认为4723
4电脑连接手机开启appium服务运行脚本调试是否能启动app。
from appium import webdriverdesired_caps {platformName: Android,platformVersion: 10,deviceName: PCT_AL10,appPackage: com.ss.android.article.news,appActivity: .activity.MainActivity,unicodeKeyboard: True,resetKeyboard: True,
}# 启动app
driver webdriver.Remote(http://127.0.0.1:4723/wd/hub, desired_caps)
我们会看到手机上今日头条app被打开。
三通过appium Inspector定位元素登陆APP
1登陆操作步骤为
启动今日头条app -- 点击【我知道了】-- 确定管理权限 -- 点击底部tab“未登陆” 进入未登录页面 -- 点击 “登陆” -- 点击“...” -- 选择密码登陆 -- 输入账号密码 -- 点击登陆
2根据操作步骤使用appium的Inspector获取登陆相关操作元素的属性
[进入appium Inspector页面](#)先点击选择元素按钮然后在窗口左侧展示的手机页面上点击选择需要定位的元素窗口右侧会展示该元素的属性值。 appium Inspector获取不到的元素属性的话还可以用Android SDK里自带的工具uiautomatorviewer获取。后面会专门介绍怎样获取元素属性这里不详述。 3登陆操作脚本
# -*- coding:utf-8 -*-import time
from appium import webdriverdesired_caps {platformName: Android,platformVersion: 10,deviceName: PCT_AL10,appPackage: com.ss.android.article.news,appActivity: .activity.MainActivity,unicodeKeyboard: True,resetKeyboard: True,
}# 启动app
driver webdriver.Remote(http://127.0.0.1:4723/wd/hub, desired_caps)# 登陆操作
driver.find_element_by_id(com.ss.android.article.news:id/chj).click() # 点击【我知道了】
time.sleep(1)
driver.find_element_by_id(android:id/button1).click() # 点击权限管理-确定按钮
time.sleep(1)
driver.find_element_by_xpath(//android.widget.TabWidget/android.widget.RelativeLayout[index3]).click() # 点击未登录
time.sleep(1)
driver.find_element_by_id(com.ss.android.article.news:id/a1c).click() # 未登录页点击登录按钮
time.sleep(1)
driver.find_element_by_id(com.ss.android.article.news:id/bfm).click() # 登录页点击“。。。”
time.sleep(1)
driver.find_element_by_xpath(//android.widget.LinearLayout[index4]).click() # 选择密码登录
time.sleep(1)
driver.find_element_by_id(com.ss.android.article.news:id/c7).send_keys(********) # 输入账号
time.sleep(1)
driver.find_element_by_id(com.ss.android.article.news:id/ch).send_keys(********) # 输入密码
time.sleep(1)
driver.find_element_by_id(com.ss.android.article.news:id/a31).click() # 点击登录
time.sleep(5)
我们查看手机会发现手机正在自动做登录今日头条的app操作且登录成功。
至此我们通过编写一个简单的Python脚本完成了登录app的操作如果加上断言就是一条完整的用例。
最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你