android appium 页面如何跳转,Appium Remote webdriver调用(示例代码)

remote webdriver的模板

默认开启4723端口接受webdriver请求

默认开启4724用于和android通讯

#coding:utf-8#Import the common package

importosimportunittestfrom appium importwebdriverfrom time importsleep#设置路径信息

PATH = lambdap: os.path.abspath(

os.path.join(os.path.dirname(__file__), p)

)classLoginAndroidTests(unittest.TestCase):defsetUp(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)deftearDown(self):

self.driver.quit()deftest(self):#测试导航页

print("start test...")#判断是否安装爱壁纸APP

wallpaper = self.driver.is_app_installed("com.lovebizhi.wallpaper")ifwallpaper:#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的压缩包,并解压

a0a1fbea2c8fc21eaf1e68615b05ecfd.png

2、双击decode.bat运行

401fc407b0b853f504eb5c1fa9e372bd.png

3、将apk拖入decode.bat中回车即可得到对应apk的文件夹

2198267dbf958906b36d5b91a0eedd67.png

3cdb13911bb9712a416b2a0684082195.png

4、用记事本或notepad++等打开apk文件夹中的AndroidManifest.xml即可看到appPackage和APPactivity名称

bd18ea291d62f890b4a24193cbb6e8ae.png

在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

importosimportunittestfrom appium importwebdriverfrom time importsleep#设置路径信息

PATH = lambdap: os.path.abspath(

os.path.join(os.path.dirname(__file__), p)

)classLoginAndroidTests(unittest.TestCase):defsetUp(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)deftearDown(self):

self.driver.quit()deftest_1(self):#测试导航页

print("start test1...")#判断是否安装爱壁纸APP

wallpaper = self.driver.is_app_installed("com.lovebizhi.wallpaper")ifwallpaper:

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)

报如下错误:

1d009e93567476e8282e644a0b7e1949.png

25e97bab147b059057c1e56d2da7f38c.png

所以在初始化之后就不要使用卸载或安装程序了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值