Python+Appium 自动化测试环境搭建(集大成者)

这篇文章讲得挺全的,比较忙,就结合我的自己的实际做法改改吧~

需要用到的软件如下:

1. jdk-8u121-window(做过Java开发就有了)。

2.Android-sdk_r24.3.4-windows(下载了Android Studio,就带有了)

3.Python:(V3.6也可以)

4.appium:1.4.13.1

5.Node.js:node-v4.4.7-x64(Appium的解释器)

6.Appium-python-Client

7.pycharm

1-3 要设置环境变量

其中1-5是可以先下载的,6则需要在完成前面的五个步骤后才进行,7为可选IDE工具。

adb调试

cmd 进入C:\platform-tools 文件夹

输入adb devices -l 检证手机是否连接成功(其他手机打开了开发者模式)

找到APP的包:adb shell dumpsys activity recents | findstr intent

例:网易云APP

from appium import webdriver

caps = {
    'platformName': "Android",
    'platformVersion': '10',
    'deviceName': 'Jazon',
    'appPackage': 'com.netease.cloudmusic',
    'appActivity': '.activity.LoadingActivity',
    'noReset': True,
    'newCommandTimeout': 3600,
    'automationName': 'UiAutomator2'

}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', caps)
driver.implicitly_wait(10)
driver.('我的推荐').click()
driver.find_element_by_xpath('//*[@text="每日推荐"]').click()
songs = driver.find_elements_by_id('com.netease.cloudmusic:id/songName')[:3]
for song in songs:find_element_by_accessibility_id
    print(song.text)

driver.quit()

 

 

突然看到Selenium,想知道Selenium和Appium的关系

区别:Selenium是web端的自动化测试工具,Appium是移动端的自动化测试工具

联系:在Python的appium包中实际继承了Selenium,在测试过程中将移动端的页面元素当作是网页来处理,

     所以Selenium的定位方法也可以使用

Selenium,我也做了豆瓣的

from selenium import webdriver
import time
#实例化浏览器driver
from selenium.webdriver.support.wait import WebDriverWait

driver = webdriver.Chrome()
#操作步骤
#打开网页
driver.get("http://www.douban.com/")
#点击密码登录(找到该元素,点击)
#找所属的iframe
el = driver.find_element_by_tag_name('iframe')
#切换iframe
driver.switch_to.frame(el)
#点击密码登录(找到该元素,点击)

driver.find_element_by_css_selector('.account-tab-account').click()
#输入用户名,密码
username_el = WebDriverWait(driver,timeout=5,poll_frequency=1).until(lambda x:x.find_element_by_id('username'))
username_el.send_keys('17396235508')
driver.find_element_by_id('password').send_keys('40086ugly')
#点击登录豆瓣 a标签 link_text()
driver.find_element_by_link_text('登录豆瓣').click()
time.sleep(5)
#等待方式
#隐式等待   作用域: 全局    报错信息:NoSuchElementException
driver.implicitly_wait(3)
#显式等待   作用域:一个元素    报错信息:TimeoutException
#username_el = WebDriverWait(driver,timeout=5,poll_frequency=1).until(lambda x:x.find_element_by_id('username11'))
#退出
driver.quit()

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值