• 0
  • 0
分享
  • Appium+Python 之APP UI自动化入门——软件测试圈
  • 饭团🍙 2021-08-12 10:04:26 字数 2027 阅读 959 收藏 0

一、环境搭建

1、安装appium

(1)首先去网站下载一个appium的exe安装包。官网上的话下载比较慢,可以找资源去下载一下。

-----注:这边就是简单的一个安装方式、还有一个比较复杂的,后续我再更新。

(2)然后我们直接双击下面的exe安装包进行安装即可。

0.png

(3)打开appium,可以看到界面如下图所示:

1.jpg

这个就是appium已经安装完成了。

2、安装安卓模拟器

这边我安装的呢是雷电模拟器,这个主要看你们自己装什么都可以,有雷电模拟器、什么逍遥模拟器等等。

3、安装PyCharm

这个可以安装一个社区版的因为是免费的不需要激活。

4、准备待测的APP的安装包

打开我们的安卓模拟器,直接将安装包拖进模拟器安装。

以上就是我们的一个环境配置过程,下面讲一个简单的UI自动化实例。

1、首先我们要打开pycharm,写几个基础的脚本,这个是配置的一个脚本

2.jpg

每一行的一个配置就不多做解释了,这边都有注释,按照自己的环境进行配置即可,这边说下app的包名和activity如何查看。

方法1:如果装了andriod-sdk的话,sdk下面build-tools里有个工具aapt,通过命令可以查看到包名和activity名。

方法2:通过命令来获取

获取所有app的包名:adb shell pm list packages

获取activity名:adb shell dumpsys activity activities >d:\log.txt 这个txt文件就是会记录了你最近打开的app的activity名

把获取到的包名和activity名写到上面对应位置。

下面我们就要试一下我这个配置是否有问题,我们就要执行这段脚本,看看是否可以成功打开要测试的app,如果打开了就说明是配置正确的。

后面我们就要开始做UI自动化测试了,UI自动化测试很重要的就是要进行元素定位。我们这边用到一个工具:uiautomatorviewer,通过这个工具进行元素定位。

3.jpg

import time
from appium import webdriver
desired_caps = {
‘platformName’: ‘Android’,
‘deviceName’: ‘emulator-5554’, # Android模拟器名称
‘platformVersion’: ‘5.1.1’, # android模拟器版本
‘appPackage’: ‘com.anji.saftysupervisionapplication’, # 包名
‘appActivity’: ‘.activity.FlashActivity’ # 应用activity
}
driver = webdriver.Remote(‘http://127.0.0.1:4723/wd/hub’, desired_caps)

查找元素前 必须sleep等待获取元素

time.sleep(3)

用法一:通过id查找

driver.find_element_by_id(“com.anji.saftysupervisionapplication:id/et_account”).click()
driver.find_element_by_id(“com.anji.saftysupervisionapplication:id/et_account”).send_keys(“JTliqinkan”)
driver.find_element_by_id(“com.anji.saftysupervisionapplication:id/et_password”).click()
driver.find_element_by_id(“com.anji.saftysupervisionapplication:id/et_password”).send_keys(“123456”)
driver.find_element_by_id(“com.anji.saftysupervisionapplication:id/btn_login”).click()
print(“login successfully”)

查找元素前 必须sleep等待获取元素

time.sleep(3)

用法二:通过xpath查找

driver.find_element_by_xpath("//*[@text=‘快捷入口’]").click()

查找元素前 必须sleep等待获取元素

time.sleep(3)
driver.find_element_by_xpath("//*[@text=‘对象、内容、范围’]").click()
time.sleep(3)
driver.quit()

以上是我用id和xpath做的简单的一个UI自动化,可以参考学习。


作者:VictoriaGu

原文链接:https://blog.csdn.net/VictoriaGu/article/details/109532035

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 引言:不知不觉中成为一名测试攻城狮已将近7年之久,在这期间做过不少API接口测试。最早接触的API接口在项目中称之为(webservice),期间走了不少弯路。也收获了不少的经验,现分享下在测试的路上走过的坑。第一阶段小白初体验:初始接触API是在11年,第一次接触API接口一脸的懵逼,很茫然不知如何下手测试,对http网络协议也不了解。后来由研发同学提供对应接口web界面,测试时进入对应接口界面,在textbox输入对应参数值提交后查看返回值。但刚幵始一脸懵逼,返回值也不清楚是否正确,每次都是把研发同学叫过来直接看结果。严重耽误了效率,后来不断的自我反思,在研发同学的不断讲解API知识。不断...
            0 0 1288
            分享
          •   测试用例编写流程:  · 需求分析  · 提取测试点  · 测试用例编写  · 测试用例评审  1.需求分析:  a、【业务需求】关注系统是否满足业务  b、【用户需求】关注系统是否满足用户习惯  c、【功能需求】关注系统是否满足功能需求  2.测试用例编写注意以下几点:  a、根据项目的实际情况设计测试用例表格  b、用例格式不是固定的,不要生搬硬套  c、根据具体的情况编写  一般测试用例包含的内容:  [ 测试用例包含的内容 ]  用例编号:唯一 --身份证号。  用例名称:用例的名字,要求言简意赅 --姓名。  测试背景:这条用例主要测试什么东西。  前置条件:执行这条措...
            0 0 924
            分享
          • 一.测试用例的基本要素1.什么是测试用例这个在前面其实已经说过了,具体可以看软件测试的基本概念 这篇博客,这里就简单介绍一下:测试用例是向被测试系统发起的一组集合,包括测试环境,测试步骤,测试数据,预期结果!2.为什么软件测试人员要写测试用例?这里有如下几个原因:测试用例是测试执行的依据;测试用例可以复用,在进行回归测试的时候就不用再重新编写了;测试用例可以衡量需求的覆盖率;后人可以借鉴;手工测试用例是自动化测试的依据二.测试用例的设计方法1.基于需求设计测试用例需求是测试人员进行测试的依据,测试人员分析需求,验证需求的合理性和正确性,无二义性,从需求当中提取出测试项,根据测试项进行进一步的细...
            0 0 1838
            分享
          •       本文写在预赛通过的基础上,默认后来者已经接触过web应用测试,并有一定的基础知识。      本文写于2020.11.8省赛结束,希望这些坑以后不会再有人跳进去。      【前排提示】没学过前端因为懒 ,所以有关网页的术语可能使用有误,烦请理性讨论_(:з)∠)_有错的地方可以在评论区指出~      1.frame的切换      今年的省赛功能测试题目是登录网易云进行操作(前两步操作如下图...
            7 6 2681
            分享
          •   顺丰集团宣布,顺丰国际与亚马逊海外购联合推出全新直邮服务,“为跨境电商和国际贸易的客户提供更加高效和便捷的物流服务”。  官方介绍称,全新的端到端顺丰国际直邮解决方案不仅可以提供更快速的国际物流服务,简化清关流程,还可实现更透明的全链路物流追踪。此次合作将大大缩短货物从美国到中国的运输时间(具体时间未说明),确保更多来自亚马逊全球运营中心的优质海外商品由顺丰在短时间内送达中国消费者手中。  亚马逊中国副总裁、亚马逊海外购中国及亚马逊新加坡电商负责人李岩川表示:  此次与顺丰国际合作推出的跨境直邮服务,是亚马逊海外购提升跨境物流体验的新一步。通过本次合作,亚马逊海外购将继续为中国消费者提供更...
            0 0 511
            分享
      • 51testing软件测试圈微信