微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Pycharm+appium+python自动化测试真机

Pycharm+appium+python自动化测试APP(真机)

前提:1、Android sdk 2、jdk环境变量

1、安装pycharm https://www.jetbrains.com/pycharm/download/#section=windows  安装node.js http://nodejs.cn/download/

2、安装appium http://appium.io/

 (注意安装这两个文件

3、打开pycharm --file--setting--project:项目名称--python Interpreter

如果未安装点击+号 输入 appium-Python-Client安装( 安装这些完毕之后需要大家配置环境变量。我就直接截图给大家看啦)

环境变量配置完成之后需要检测一下是否  都已经安装正常

cmd 打开命令提示符  输入 appium-doctor 回车  

搭建完环境就可以开始 你的自动化测试之旅啦。

4、启动appium

5、选择高级设置  (1)输入服务器地址 127.0.0.1    (2)启动服务器

6.在Pycharm 项目名称上右键new Python file 输入文件名称 然后开始编写代码

# -*- coding: UTF-8 -*-
import time

from appium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import webdriverwait

# from selenium import webdriver

desired_caps = {}
desired_caps['platformName'] = 'Android'#平台 名称
desired_caps['platformVersion'] = '10' #Android 版本号
desired_caps['deviceName'] = '60d8a48d'#设备名称(cmd -- adb devices 确保手机连接电脑正常)
desired_caps['appPackage'] = '项目包名'
desired_caps['appActivity'] = '.ui.SplashActivity'#要打开的app入口Activity
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

time.sleep(2)

#打开app后允许的权限
def always_allow(driver, number=6):
    for i in range(number):
        loc = ("xpath", "//*[@text='始终允许']")
        try:
            e = webdriverwait(driver, 1, 0.5).until(EC.presence_of_element_located(loc))
            e.click()
        except:
            pass


if __name__ == "__main__":
    # 调用始终允许函数
    always_allow(driver)
time.sleep(1)
driver.find_element_by_id("alert_ok").click()
time.sleep(2)

homebar = driver.find_elements_by_id("messages")
homebar[3].click()

time.sleep(1)
driver.find_element_by_id("lly_login").click()
time.sleep(1)


def login(driver, edphones="18513147424", edPasss="123456"):
    driver.find_element_by_id("btn_ByPass").click()
    time.sleep(1)
    edPhone = driver.find_element_by_id("et_Phone")
    edPhone.send_keys(edphones)
    edPass = driver.find_element_by_id("et_Code")
    edPass.send_keys(edPasss)
    time.sleep(1)
    driver.find_element_by_id("btn_Login").click()
    time.sleep(2)
    pass


login(driver)
time.sleep(1)
homebar[0].click()

快快开始你的自动化测试之旅吧。

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐