听说自动化测试很厉害,所以我自己也是尝试搭建了环境,这里主要是记录APP启动操作,具体代码如下(这里以智联招聘做了一下练习):
此程序实现的是,登录智联成功后并退出。
import time from appium import webdriver # 设置appium的配置并启动Appium caps = {} caps['platformName'] = 'Android' # 手机类型 caps["app"] = "\Appium\apk\com.zhaopin.social_8006.apk" # apk存放的路径,注意路径中的单斜杠需要换成双斜杠 caps['deviceName'] = '68U5T17A17xxxxx' # 使用的手机或模拟器类型
caps['appPackage'] = 'com.zhaopin.social' # app的apk包名
caps['com.zhaopin.social.SplashActivity'] # apk的launcherActivity
caps['noReset'] = 'true' # 启动APP不要清除原来的数据(防止有广告或者异常弹窗)
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', caps) # 调用appium的驱动
time.sleep(10) # 通过appium将app启动后等待3秒,方便元素加载完成
# 程序运行到这里时APP启动已经完成,后续是进行操作的过程
driver.find_element_by_id("com.zhaopin.social:id/startpage_top").clike()
driver.find_element_by_id("com.zhaopin.social:id/pwToPwdLogin").click()
driver.find_element_by_id("com.zhaopin.social:id/ppEtAccount").send_keys("登录用户名")
driver.find_element_by_id("com.zhaopin.social:id/pplEtPwd").send_keys("登录用户密码")
driver.find_element_by_id("com.zhaopin.social:id/pOkBtn").click()
driver.find_element_by_id("com.zhaopin.social:id/ivSocailMine").click()
driver.swipe(300, 800, 300, 100, 200)
driver.find_element_by_id("com.zhaopin.social:id/my_setting").click()
driver.swipe(300, 800, 300, 100, 200)
driver.find_element_by_id("com.zhaopin.social:id/button1").click()
# 退出程序
driver.quit()
此程序需要注意的事项:
1.如果是Android手机,下面这两个参数不需要配置,直接注释掉,否则可能会出现appium启动失败的情况。
caps['appPackage'] = 'com.zhaopin.social' # app的apk包名
caps['com.zhaopin.social.SplashActivity'] # apk的launcherActivity
2.需要配置一下下面这个参数
caps['noReset'] = 'true'
如果不配置这个参数,appium启动的时候默认清除APP原有的参数,你会看到广告,甚至一些h5页面广告,程序会运行失败。