论搭建移动自动化踩过的坑

,这种多种设备联调的,一定要严格配置,我已经在这里踩了很多坑,下载了最新的java然后卸载,然后重装java,然后要么因为java环境变量的配置不完全,要么安卓环境变量配置错误。总在报错没有找到java 程序,自己苦哈哈的百度了很多,然后这改改,那改改,还是没有用,然后让研发小哥哥帮忙看原因,然后最后发现是环境变量没有配置好,那种心情,真的很泪目啊,所以下定决心写写这些坑,望你们看到了之后能慎踩。

 

一,安装jdk环境,强烈建议安装java8版本的,大家可以自行从oracle 官网上下载,最新版本的有可能会有很多异想不到的坑

一路默认安装下去就是配置Java环境了,大家自行百度,网上有很多配置java环境的教程,总之按照教程一步一步来,我把我自己配置的环境变了贴出来,大家可以对比对比。

1.配置administrator的环境变量,也可以都配置在系统变量里   JAVA_HOME  |   C:\Program Files\Java\jdk1.8.0_191

2.配置系统变量中的path路径  %JAVA_HOME%\bin      |      %JAVA_HOME%\jre\bin

3、新增classpath 环境变量   CLASSPATH   ;   .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

二、下载安装Appium sever,建议下载最新版本,注意:需要下载desktop 版本

下载链接https://github.com/appium/appium-desktop/releases

默认一直安装下去

三 ,sdk 安装

配置sdk环境,sdk下载地址,建议只下载sdk,不用下载安卓 studio

下载地址 https://developer.android.google.cn/studio/#downloads 

下载完成之后,新建一个文件夹,我是放在C盘,路径如图:C:\Program Files\Android\SDK

从网上下载的sdk的包中只有tools 文件,打开tools文件:C:\Program Files\Android\SDK\tools\bin

打开cmd  进入文件C:\Program Files\Android\SDK\tools\bin  命令   cd C:\Program Files\Android\SDK\tools\bin

运行命令 :sdkmanager "platform-tools" "platforms;android-28" "build-tools;28.0.2"

会让你选择y/n,输入 y ,adk安装成功后,你会有plat -from 之类的文件

如图:

配置安卓变量,网上也有很多教程,我也把我自己配置的环境变了贴出来,大家可以对比对比。

1,ANDRIOD_HOME |  C:\Program Files\Android\SDK

path 路径配置 :C:\Program Files\Android\SDK\platform-tools  |   C:\Program Files\Android\SDK\build-tools

四:配置appium sever 

1、变量的配置。当然如果你之前的环境变量配好了。这里也可以不填;

2,服务器的地址,当然我不知道服务器的0.0.0.0 和127.0.0.1 有什么区别,总之127.0.0.1就一定是本机,之前报错找不到java 程序,有可能就是因为这个问题,我把地址换成127.0.0.1就可以了

五:环境都配置好了,最后当然是测试脚本啦

这里有测试脚本,大家可以试试自己环境有没有搭建成功

from appium import webdriver
import time , traceback
# import json

desired_caps = {}
desired_caps['platformName'] = 'Android'
#输入设备名
desired_caps['platformVersion'] = '6'
#安卓版本
desired_caps['deviceName'] = 'test'
#测试项目名称,名称随便,没什么用
# desired_caps['app'] = r'D:\迅雷下载\toutiao.apk'
# 手机中没有安装,才会用代码安装
desired_caps['appPackage'] = 'io.manong.developerdaily'
desired_caps['appActivity'] = 'io.toutiao.android.ui.activity.LaunchActivity'
automationName = "uiautomator2"
#指定测试的APP
# desired_caps['unicodeKeyboard']  = True
#如果需要输入中文的时候,需要加上这句
# desired_caps['resetKeyboard']  = True
#把输入法还原成以前的输入法(可能没什么用)
desired_caps['noReset'] = True
#可能是已经登录的状态,不清除之前的数据
desired_caps['newCommandTimeout'] = 6000
#自动化执行的时候需要链接appium sever ,设置时间久一点避免断开

# desired_caps = json.dumps(desired_caps)
# print(desired_caps)
#启动Remote RPC
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

try:
    driver.implicitly_wait(100)
    # 根据id找到元素,并点击,id和 html 元素的id不同
    driver.find_element_by_id("io.manong.developerdaily:id/tab_bar_plus").click()
    time.sleep(1)
    driver.find_element_by_id("io.manong.developerdaily:id/btn_email").click()
    time.sleep(1)

    # 输入用户名、密码
    ele = driver.find_element_by_id("io.manong.developerdaily:id/edt_email")
    ele.send_keys('jcyrss@163.com')
    ele = driver.find_element_by_id("io.manong.developerdaily:id/edt_password")
    ele.send_keys('sdfsdf')

    time.sleep(2)
    # 点击登录
    driver.find_element_by_id('io.manong.developerdaily:id/btn_login').click()
    pass

except:
    print (traceback.format_exc())


input('**** Press to quit..')
driver.quit()

该App的下载地址: http://toutiao.io/s/apk

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值