• 13
  • 13
分享

前言

本文主要是记录Pycharm创建支持appium模块的项目时,如何安装Appium-Python-Client以及通过一个简单的脚本实现自动点击操作的过程。

步骤

1.创建python项目

使用Pycharm新建一个项目,这里取名test,如下图

1.jpg

创建完以后,会自动生成一些文件,如下图:

2.jpg

2.添加Appium-Python-Client

2.1 打开Settings对话框

在项目的菜单中选择File->Settgings(或者直接按快捷键Ctrl+Alt+S)

3.jpg

2.2 安装Appium-Python-Client

选择Project:test(test为项目名,不同项目不一样)下的Project Interpreter,然后点击右边绿色的“+”,如下图

4.jpg

在弹出的对话框中搜索Appium,然后选择Appium-Python-Client,接着点击下面的Install Package进行安装(每个项目都需要这样处理)

5.jpg

安装完以后,如下图所示

6.jpg

关闭对话框,然后在Setting对话框中点击ok即可。

3. 新建python测试脚本

这里测试机为模拟器,Android版本为5.0,测试的app为系统自带的联系人app,包名为:com.android.contacts

新建一个test.py文件,然后在输入如下语句

import time
from appium import webdriver
capabilities = {}
# Android平台测试
capabilities['platformName'] = 'Android'
# 测试手机版本为5.0
capabilities['platformVersion'] = '5.0'
capabilities['deviceName'] = 'Android Emulator'
# 系统手机中的联系人app的包名
capabilities['appPackage'] = 'com.android.contacts'
# 系统手机中的联系人app的主入口activity
capabilities['appActivity'] = '.activities.PeopleActivity'
capabilities['unicodeKeyboard'] = 'True'
capabilities['resetKeyboard'] = 'True'
# 连接测试机所在服务器服务器
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', capabilities)
try:
# com.android.contacts:id/floating_action_button为通过uiautomatorviewer截取联系人界面获取到的
    element = driver.find_element_by_id('com.android.contacts:id/floating_action_button')
    #如果找到该id所指定控件,则进行点击操作
    element.click()
except:
    print "exist"
    pass
time.sleep(2)
#断开连接
driver.quit()

这里的脚本只是简单的做一个点击联系人app界面中添加联系人按钮的操作,添加按钮可通过Android SDK自带的工具uiautomatorviewer获取。

4. 启动Appium-Destop

启动Appium-Destop后, 在输入host为127.0.0.1,然后点击start,如下图

88.gif

界面中显示“The server is running”,表示服务已经启动。

5. 启动模拟器并执行脚本

执行脚本以后,模拟器运行如下:

8.jpg


作者:Geroff

原文链接:https://blog.csdn.net/fengyulinde/article/details/80211349


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、我们为什么要做日志测试?虽然额外的日志记录可能会导致软件程序的执行速度下降。但如果有详细的日志记录就可以帮助我们更迅速地诊断问题,加快我们对故障的响应,并且往往可以显著地减少发现一些隐藏得非常深的错误的问题!二、日志级别log4j定义了8个级别的log(除去OFF和ALL,可以说分为6个级别),优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL。ALL 最低等级的,用于打开所有日志记录。TRACE designates finer-grained informational events than the DEBUG.Since:1....
            0 0 1053
            分享
          •   传感器、这些传感器输出的ML推断结果是自动辅助驾驶的重要核心。Mixel和Rambus在MIPI DevCon上就这种传输技术MIPI进行了讲解,涉及了来自Rambus的摄像头串行接口(MIPI CSI-2)和来自Mixel的物理接口(MIPI C-PHY和MIPI D-PHY)  MIPI CSI-2和PHY传输和接收模块  MIPI CSI-2是定义摄像头和ISP(图像信号处理器)之间串行接口的功能。像素从一端流入,最终从另一端流出,所以该接口需要一个发送功能和一个接收功能。由于这些功能必须能够连接任何摄像头(或多个摄像头)到任何ISP,需要很大的灵活性,比如传感器和最终消费者之间的带...
            0 0 473
            分享
          •   一、什么是接口业务安全测试  业务安全测试是根据业务需求,针对业务安全规则展开的系统功能测试。业务安全测试作为在系统功能测试的重要组成部分,在接口测试过程中同样适用。区别于系统漏洞扫描、SQL注入防范等技术安全测试,针对接口展开的业务安全测试更加关注程序逻辑本身对于保障业务规则安全所进行的检查、校验、控制等功能方面的测试,例如银行业务中针对客户信息有效性、账户信息一致性的检查等等。  二、为什么要做接口业务安全测试  顾名思义,业务安全测试的目的自然是为了防范业务风险,提高接口的业务安全性。之所以针对接口测试再次强调业务安全测试,就不得不提到一个众所周知的“零信任原则”。  所谓零信任原则...
            13 13 1826
            分享
          •   我是一名转IT测试人,我的专业是化学,去化工厂实习才发现这专业的坑人之处,化学试剂害人不浅,有毒,易燃易爆,实验室经常用丙酮,甲醇,四氯化碳,接触多了,吃个饭都感觉在吃试剂,实属被逼无奈,只能选择转行。  在这期间我迷茫过,纠结过,不知道该选择什么方向,后来我的发小推荐我转行去做软件测试,看他在这行发展的还挺好,我就想着要么我也试试看。然而走上这条路,我才发现完全不懂it的我,学起来也不会太困难。就这样转行测试改变了我的人生轨迹,和一群努力奋斗、满腔热血的同事们一起,燃起了我的斗志,也为自己创造了更好的前途!  努力奋斗!满腔热血!  好了,我发泄完了,文风要突转了::  成功不能复制,但...
            0 0 2086
            分享
          • 一、为什么要制定流程?先谈谈为什么要制定流程及流程对于工作拿到好结果的重要性。首先问大家五个问题:流程是什么?因人、团队、业务类型、迭代速度、资源紧张程度而异。我觉得流程是保障团队目标达成的最佳实践。为什么要有流程?没有流程会导致团队中个体各自为战,目标不统一,进度不协调,资源配给失衡而导致交付质量下降。流程能解决什么问题?保证团队大方向一致,尽可能降低由于人员能力、认知水平、资源不足、意外情况导致的项目延期或质量下降。流程能带来什么保障?保障团队中大部分人的利益不受影响和保障工作中遇到沟通或争执时可以据理力争;保障工作过程中的最佳实践可以最大程度保留并执行。如何高大上的理解流程?风险可识别+...
            0 0 2009
            分享
      • 51testing软件测试圈微信