博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Appium入门
阅读量:5019 次
发布时间:2019-06-12

本文共 2552 字,大约阅读时间需要 8 分钟。

一、appium的特点    

1、Appium主流的移动自动化工具,因为封装了XCUITest(IOS的自动化框架)和UIAutomator(安卓的自动化框架) ,所以支持android和ios的自动化

 

2、appium支持Web应用(Web app),支持原生应用(Native App)以及支持混合应用(Hybrid App)

3、appium支持多种语言:python,java,ruby等

4、总结借用一张图:

 

二、环境搭建

1. jdk(省略)

2.-sdk:,直接下载adt/Android studio完美集成,配置环境变量(省)

3.:

4.:

  安装node.js时,选取5.0以上的版本,这样在安装appium的,npm会自动下载appium所需要的依赖包。版本过低会所以出现各种问题。

5.appium:

  官网 :  

  A、npm安装

  npm install -g appium

  B、安装

  安装包安装:下载安装( )客户端,双击dmg安装

  或者: 

  > npm install -g appium  # 
get 
appium
  > npm install wd         # 
get 
appium client
  > appium &               # start appium
  > node your-appium-test.js
  验证安装

  使用appium-doctor校验Appium的依赖环境是否正确配置,使用下面命令安装appium-doctor

  npm install -g appium-doctor

  检测命令:appium-doctor --ios校验ios环境,使用appium-doctor --android校验安卓环境

 

6.Appium--Client:pip install Appium-Python-Client

7.pycharm

三、测试:

1、连接手机成功

2、启动服务器:命令行:appium &  /或者直接启动appium桌面版

3、python测试代码

from appium import webdriver import time desired_caps = {
'platformName': 'Android', 'deviceName': '91QECPF5US7G', 'platformVersion': '5.1',          #将要测试app的安装包放到自己电脑上执行安装或启动,
如果不是从安装开始,则不是必填项,可以由下面红色的两句直接启动
'app':'C:\\Users\\shuchengxiang\\Desktop\\shoujibaidu_25580288.apk', 'appPackage': 'com.baidu.searchbox', #红色部分如何获取下面讲解                 'appActivity': 'MainActivity',                 'unicodeKeyboard': True, #此两行是为了解决字符输入不正确的问题                 'resetKeyboard': True    #运行完成后重置软键盘的状态   } driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) driver.find_element_by_id("com.baidu.searchbox:id/baidu_searchbox").click() driver.find_element_by_id("com.baidu.searchbox:id/SearchTextInput").clear() driver.find_element_by_id("com.baidu.searchbox:id/SearchTextInput").send_keys('appium测试') driver.find_element_by_id("float_search_or_cancel").click() driver.find_element_by_id("floating_action_button").click() driver.quit() 获取appPackage和appActivity: 1、在之前配置的android SDK文件中找到这个程序,并双击打开

在连好手机的情况下点击这个按钮,界面上就会显示出当前手机的页面(如果是锁屏状态则显示黑屏)

界面加载出来之后,加入我们想定位百度一下的文本框,那么吧光标移动到上面点击一下即可,下图框出的部分为我们需要的信息:

通过这个信息我们知道,对于这个包,上方desired_caps字典中appPackage的值应填写为 com.baidu.search

而代码中的定位部分的id为com.baidu.searchbox:id/baidu_searchbox,或填写baidu_searchbox

例:driver.find_element_by_id("com.baidu.searchbox:id/baidu_searchbox").click()

 

2、appActivity的获取:

先让百度在手机中运行起来,然后在cmd中输入:adb shell dumpsys activity activities (获取当前所有的活动),搜索结果如下:

 上方将所有进程显示出来,活动进程很多比较难找,这里知道package名称,可以在结果中进行查找,得到appActivity的值为MainActivity

关于这里的定位还有其他方法,详情参看大神的博客:http://blog.csdn.net/shyu1989/article/details/51730214

 

转载于:https://www.cnblogs.com/yoyo008/p/9299613.html

你可能感兴趣的文章
kubeadm部署kubernetes-1.12.0 HA集群-ipvs
查看>>
ios8 ios7 tableview cell 分割线左对齐
查看>>
myql类的源码
查看>>
CSS3自定义滚动条样式 -webkit-scrollbar
查看>>
spring boot日期转换
查看>>
[WPF实用技巧]如何使WPF的TreeView节点之间有连线
查看>>
10-7练题总结
查看>>
软件工程-wordcount(C语言实现)
查看>>
sql笔试题-1
查看>>
CCMotionStreak(一)
查看>>
课题论文之调研--贝叶斯网络
查看>>
19_传智播客iOS视频教程_课程总结与作业布置
查看>>
c++ explicit关键字
查看>>
js的addEvertLIstener方法
查看>>
Js基本概念
查看>>
POJ 3349 Snowflake
查看>>
尚学堂&浪曦视频学习推荐顺序
查看>>
Arcgis for js,Openlayers中加载GeoJSON
查看>>
处理器管理与进程管理
查看>>
Co-op 重塑了四叶草标志
查看>>