TA的每日心情 | 奋斗 2021-8-16 14:04 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]测试小兵
|
remote webdriver的模板
默认开启4723端口接受webdriver请求
默认开启4724用于和android通讯
复制代码
- #coding:utf-8
- #Import the common package
- import os
- import unittest
- from appium import webdriver
- from time import sleep
复制代码
#设置路径信息
- PATH = lambda p: os.path.abspath(
- os.path.join(os.path.dirname(__file__), p)
- )
- class LoginAndroidTests(unittest.TestCase):
- def setUp(self):
- #初始化测试平台
- desired_caps = {}
- desired_caps['platformName'] = 'Android'
- desired_caps['platformVersion'] = '4.4.2' #Android版本
- desired_caps['deviceName'] = '127.0.0.1:62001' #连接到的设备名称,这个是夜神模拟器的名称
- #desired_caps['app'] = 'D:\apk\爱壁纸.apk' #app的路径
- desired_caps['appPackage'] = 'com.lovebizhi.wallpaper' #包名
- desired_caps['appActivity'] = 'com.lovebizhi.wallpaper.WelcomeActivity' #activity名称
- self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
-
- def tearDown(self):
- self.driver.quit()
-
- def test(self):
- #测试导航页
- print("start test...")
- #判断是否安装爱壁纸APP
- wallpaper = self.driver.is_app_installed("com.lovebizhi.wallpaper")
- if wallpaper:
- #self.driver.remove_app("com.lovebizhi.wallpaper")
- sleep(8)
- # 点击某一壁纸图片
- self.driver.find_elements_by_id("com.lovebizhi.wallpaper:id/image1")[4].click()
- sleep(4)
- # 点击设置壁纸
- self.driver.find_element_by_id("com.lovebizhi.wallpaper:id/btSetup").click()
- sleep(5)
- else:
- self.driver.install_app("D:\apk\爱壁纸.apk")
- sleep(30)if __name__ == '__main__':
- suite =unittest.TestLoader().loadTestsFromTestCase(LoginAndroidTests)
- unittest.TextTestRunner(verbosity=2).run(suite)
复制代码
复制代码
如何查看app的appPackage和APPactivity?
1、下载apktool-new的压缩包,并解压
2、双击decode.bat运行
3、将apk拖入decode.bat中回车即可得到对应apk的文件夹
4、用记事本或notepad++等打开apk文件夹中的AndroidManifest.xml即可看到appPackage和APPactivity名称
在romote webdriver初始化的时候
desired_caps['appPackage'] = 'com.lovebizhi.wallpaper'
desired_caps['appActivity'] = 'com.lovebizhi.wallpaper.WelcomeActivity
已经确定了是要测试哪个APP和APP中的哪个界面。直接运行Python脚本时就会跳转到对应的界面,此时在test中就不能操作在本界面中不存在的元素。否则会报错
如:想要在主体部分写卸载该APP或其他APP,就会报错
复制代码
- #coding:utf-8
- #Import the common package
- import os
- import unittest
- from appium import webdriver
- from time import sleep
- #设置路径信息
- PATH = lambda p: os.path.abspath(
- os.path.join(os.path.dirname(__file__), p)
- )
- class LoginAndroidTests(unittest.TestCase):
- def setUp(self):
- #初始化测试平台
- desired_caps = {}
- desired_caps['platformName'] = 'Android'
- desired_caps['platformVersion'] = '4.4.2'
- desired_caps['deviceName'] = '127.0.0.1:62001'
- #desired_caps['app'] = 'D:\apk\爱壁纸.apk'
- desired_caps['appPackage'] = 'com.lovebizhi.wallpaper'
- desired_caps['appActivity'] = 'com.lovebizhi.wallpaper.WelcomeActivity'
- self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
-
-
- def tearDown(self):
-
- self.driver.quit()
-
- def test_1(self):
- #测试导航页
- print("start test1...")
- #判断是否安装爱壁纸APP
- wallpaper = self.driver.is_app_installed("com.lovebizhi.wallpaper")
- if wallpaper:
- self.driver.remove_app("com.lovebizhi.wallpaper")
- sleep(8)
- else:
- self.driver.install_app("D:\apk\爱壁纸.apk")
- sleep(30)
-
- if __name__ == '__main__':
- suite =unittest.TestLoader().loadTestsFromTestCase(LoginAndroidTests)
- unittest.TextTestRunner(verbosity=2).run(suite)
复制代码
复制代码
报如下错误:
所以在初始化之后就不要使用卸载或安装程序了
|
|