精华内容
下载资源
问答
  • Python+Appium来写app自动化脚本

    千次阅读 2019-06-19 20:31:00
    1...........................我有空再补 转载于:https://www.cnblogs.com/zhu520/p/11054474.html

    1...........................我有空再补

    转载于:https://www.cnblogs.com/zhu520/p/11054474.html

    展开全文
  • 我们实际跑自动化脚本的过程中,是需要用脚本调用appium启动app的,接下来就尝试写Python脚本启动app并登陆app。环境为Windows10 + Python3.7 + appium1.18.0 + Android手机 + 今日头条app + Pycharm 一,连接测试...

    我们实际跑自动化脚本的过程中,是需要用脚本调用appium启动app的,接下来就尝试写Python脚本启动app并登陆app。环境为Windows10 + Python3.7 + appium1.18.0 + Android手机 + 今日头条app + Pycharm

    一,连接测试手机,获取测试机及被测APP配置

    具体的获取方法请参考APP自动化测试之appium连接真机启动app,配置信息如下:

    {
      "platformName": "Android",
      "platformVersion": "10",
      "deviceName": "PCT_AL10",
      "appPackage": "com.ss.android.article.news",
      "appActivity": ".activity.MainActivity"
    }
    

    二,编写Python脚本启动app

    1,编辑器推荐大家使用PyCharm,下载pycharm社区版本,免费无需破解。

    2,因为登陆需要输入账号、密码,所以这里新增了两个参数。参数unicodeKeyboard即是否启用Unicode格式输入字符串,默认值为False,设置为True则表示启用。参数resetKeyboard即使用unicodeKeyboard功能进行Unicode输入后,是否将键盘重置为原始状态,默认False。

    desired_caps = {
        "platformName": "Android",
        "platformVersion": "10",
        "deviceName": "PCT_AL10",
        "appPackage": "com.ss.android.article.news",
        "appActivity": ".activity.MainActivity",
        "unicodeKeyboard": True,
        "resetKeyboard": True,
    }
    

    3,传入desired_caps通过appium启动app,构造driver对象(即创建一个session)。

    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    

    appium在本机开启的话则IP为127.0.0.1,端口默认为4723

    4,电脑连接手机,开启appium服务,运行脚本,调试是否能启动app。

    from appium import webdriver
    
    desired_caps = {
        "platformName": "Android",
        "platformVersion": "10",
        "deviceName": "PCT_AL10",
        "appPackage": "com.ss.android.article.news",
        "appActivity": ".activity.MainActivity",
        "unicodeKeyboard": True,
        "resetKeyboard": True,
    }
    
    # 启动app
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    

    我们会看到手机上今日头条app被打开。

    三,通过appium Inspector定位元素,登陆APP

    1,登陆操作步骤为:
    启动今日头条app --> 点击【我知道了】–> 确定管理权限 --> 点击底部tab“未登陆” 进入未登录页面 --> 点击 “登陆” --> 点击“…” --> 选择密码登陆 --> 输入账号密码 --> 点击登陆

    2,根据操作步骤,使用appium的Inspector获取登陆相关操作元素的属性

    [进入appium Inspector页面](#),先点击选择元素按钮,然后在窗口左侧展示的手机页面上,点击选择需要定位的元素,窗口右侧会展示该元素的属性值。手机app页面切换后,点击窗口刷新页面按钮,左侧页面会刷新。
    

    在这里插入图片描述
    appium Inspector获取不到的元素属性的话,还可以用Android SDK里自带的工具uiautomatorviewer获取。后面会专门介绍怎样获取元素属性,这里不详述。
    在这里插入图片描述
    3,登陆操作脚本

    # -*- coding:utf-8 -*-
    
    import time
    from appium import webdriver
    
    desired_caps = {
        "platformName": "Android",
        "platformVersion": "10",
        "deviceName": "PCT_AL10",
        "appPackage": "com.ss.android.article.news",
        "appActivity": ".activity.MainActivity",
        "unicodeKeyboard": True,
        "resetKeyboard": True,
    }
    
    # 启动app
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    
    # 登陆操作
    driver.find_element_by_id("com.ss.android.article.news:id/chj").click() # 点击【我知道了】
    time.sleep(1)
    driver.find_element_by_id("android:id/button1").click() # 点击权限管理-确定按钮
    time.sleep(1)
    driver.find_element_by_xpath("//android.widget.TabWidget/android.widget.RelativeLayout[@index=3]").click() # 点击未登录
    time.sleep(1)
    driver.find_element_by_id("com.ss.android.article.news:id/a1c").click() # 未登录页点击登录按钮
    time.sleep(1)
    driver.find_element_by_id("com.ss.android.article.news:id/bfm").click() # 登录页点击“。。。”
    time.sleep(1)
    driver.find_element_by_xpath("//android.widget.LinearLayout[@index=4]").click() # 选择密码登录
    time.sleep(1)
    driver.find_element_by_id("com.ss.android.article.news:id/c7").send_keys("********")   # 输入账号
    time.sleep(1)
    driver.find_element_by_id("com.ss.android.article.news:id/ch").send_keys("********")   # 输入密码
    time.sleep(1)
    driver.find_element_by_id("com.ss.android.article.news:id/a31").click() # 点击登录
    time.sleep(5)
    

    我们查看手机,会发现手机正在自动做登录今日头条的app操作,且登录成功。

    至此,我们通过编写一个简单的Python脚本完成了登录app的操作,如果加上断言,就是一条完整的用例。

    在这里插入图片描述
    如果对软件测试、接口测试、自动化测试、面试经验交流感兴趣可以加入我们。642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。

    展开全文
  • 目前正在一个app自动化UI测试框架,目录结构如, 脚本还在调试,实现的方法是从excel表格读取测试用例,执行完成后会将结果保存到Excel中。 等待....... 转载于:...

    目前正在写一个app的自动化UI测试框架,目录结构如,

    脚本还在调试,实现的方法是从excel表格读取测试用例,执行完成后会将结果保存到Excel中。

    等待.......

     

    转载于:https://www.cnblogs.com/lisa2016/p/10142118.html

    展开全文
  • 前景提要:前面我们已经将所有的环境搭建完成,现在可以尝试用真机一个小demo进行简单的测试,这样可以提升你对学习自动化的乐趣。 虽然可以通过android-SDK下载的模拟器进行测试,但我还是建议使用真机进行。实际...

    前景提要:前面我们已经将所有的环境搭建完成,现在可以尝试用真机写一个小demo进行简单的测试,这样可以提升你对学习自动化的乐趣。
    虽然可以通过android-SDK下载的模拟器进行测试,但我还是建议使用真机进行。实际测试中,大多都是真机运行的,现在使用真机,遇见问题解决后,可以积累更多的经验。

    1. 手机打开USB调试功能,连接上电脑,用cmd打开命令提示框,输入adb devices,验证手机是否成功连接。
    2. 打开appium-desktop,点击启动
    3. 打开pycharm,输入代码
    #coding=utf-8
    from appium import webdriver
    import time
    desired_caps = {}
    desired_caps['platformName'] = 'Android'
    desired_caps['platformVersion'] = '8.0'     #手机系统版本
    desired_caps['deviceName'] = 'b34facaf'     #刚才的devicename
    desired_caps['appPackage'] = 'com.miui.calculator'#计算器的package
    desired_caps['appActivity'] = 'com.miui.calculator.cal.CalculatorActivity'#计算器的activity
    
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps )#运行该脚本desired_caps
    time.sleep(3)  #在计算器页面等待3秒
    driver.find_element_by_name("1").click()
    driver.find_element_by_name("+").click()
    driver.find_element_by_name("6").click()
    driver.find_element_by_name("=").click()
    
    driver.quit()
    

    这是一个简单的自动化脚本:打开手机计算器,进行加法计算。

    就这种简单的脚本也容易遇见各种问题,我介绍一下可能踩得坑:
    1、USB找不到USB调试开关(应该还有这种新手)。
    手机的型号不同,但一般都是“我的设备”>“全部参数”>连续点击版本号,调出开发者模式,就可以找到USB调试开关。
    还不行就自己百度手机型号,找开发者模式
    2、USB连上了,调试模式也打开了,在命令提示框输入adb devers ,没出现手机。
    重新插拔下,或者更新一下usb驱动。
    3、脚本运行报错。
    脚本得对应自己的手机进行对应的修改,注释已标注需要修改的地方。appPackage、appActivity不会找?怎么查找activity
    4、appium-desktop出现问题。
    一般不用配置环境变量就可以使用,但如果出现问题,可以试试,更改配置试试。

    展开全文
  • 在测试app时,我们需要针对app某个使用最频繁的功能做压力测试,今天我们说下启动app的压力测试,利用python脚本怎么。 from time import sleep import os def test_startUpApp(AppName,AppPackage): #启动...
  • python自动化脚本安装apk

    千次阅读 2019-07-16 14:35:40
    记录学习python过程中脚本 #!/usr/bin/env python # -*- coding: utf-8 -*- import os import time class appInstall: def __init__(self,path): self.path = path def auto_install(self): #获取...
  • Python Appium移动端app自动化测试框架

    千次阅读 2019-05-28 16:52:54
    最近有时间把前面Python UI自动化脚本转换成了适用于App的测试,整体架构没多少变化,先看整体架构 先从入口说起: (1)config.ini:运行前进行基本的配置,配置文件,由于是借鉴的UI框架,所以里面的有些...
  • 关于app自动化,个人觉得安装过程比较复杂,脚本难度实现和web自动化差不多封装关键字即可,因此,下面会安装、启动APP以及过程中遇到的一些坑(这一篇偏向解释给个人) &目前appium环境搭建我还是比较喜欢根据...
  • 由于没什么项目实践,就简单了一个什么值得买APP自动签到脚本 后期打算买个树莓派,把整个环境搭在树莓派上,但是不知道能不能安装appium 代码实现思路上和PC端的浏览器自动化测试比较类似(Selenium库) 环境搭建...
  • APP UI自动化 第一步:安装安卓SDK虚拟机 参考链接:http://www.testclass.net/appium/appium-base-sdk/ 注意,安装完成以后,一定要把SDK的地址到系统环境变量里面去,不然后续脚本执行的时候会报错 第二步:...
  • 上一步已经把环境搭建好了,先不要急着写脚本,测试APP之前首先要知道app上每一个控件的‘地址’,如何准确的定位到这个控件呢? 1、adb 连接 把手机连接上电脑,开启文件传输模式,开启开发者模式,发开USB调试。...
  • 鉴于配置自动化测试这套框架确实稍微有点麻烦,许多小伙伴在配置的过程中总是踩坑,最近了篇简化版的入门教程,不想折腾Android SDK的小伙伴可以移步到那篇文章:https://www.jb51.net/article/169763.htm ...
  • 当前很多APP登录都需要绑定手机号,但当我们需要足够多的模拟新用户的注册登录时,无法提供大量的手机号来测试,所以可以让服务器给出一个清除账号的接口,在写自动化脚本的时候可以调用这个接口,保证能够使用一个...
  • 来自APP Android端自动化测试初学者的笔记,的不对的地方大家多多指教哦 前面脚本开发阶段都是使用PyCharm IDE工具来运行脚本,但是当我们的脚本开发完成后,如果还是每次都要打开IDE来执行自动化测试就不合理,...
  • APP自动化测试环境的搭建过程

    千次阅读 2021-02-06 20:00:51
    APP自动化测试的环境搭建非常麻烦,初学的小伙伴可能搞了几天都没有搭建成功,下面详细介绍搭建的过程及需要避免的坑! 需要的环境依赖 appium 服务 用Python写脚本的话需要安装 Appium-Python-Client 模拟器或者...
  • 前言 公司的项目,需要对项目中事件上报进行重新处理和封装,方便调用和自动上报!自己花了半天时间全部封装搞好,如下图: ...自动化脚本 这里我使用Python脚本,自动读取Excel表格,然后生成iOS...
  • 这篇,我们开始来一个实战练习,如何通过appium自动把电脑上一个安卓程序包给安装到一台安卓手机中。在写脚本之前,我们需要统一下方法...我也是第一次学习appium在安卓上的app自动化测试。Java和Python我都会,至少用
  • Python自动化测试GUI篇

    2021-04-24 22:49:22
    现在一个基于pywinauto进行GUI图形界面control的自动化测试脚本。 本机用到的资源软件: Python 3.6.6 之前的GUI界面: 一、打开cmd输入pip install pywinauto安装pywinauto 。 二、新建一个文档输入以下代码并...
  • 以前做过开机运行,但是现在用的时候又给忘了,所以本次来...对于Windows系统,开机之后当所有的软件初始完毕之后,会自动运行C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs...
  • 这里是摘自一篇用python 语法脚本,这里只是为了更好的理解自动化打包上传App Store的原理的。 iOS 自动打包并上传到App Store(python) 我们平时大都是用Application Loader一步一步的上传我们好不容易编译...
  • yaml简介 正如YAML所表示的YAML Ain’t ...由于实现简单,解析成本很低,YAML特别适合在脚本语言中使用。列一下现有的语言实现:Ruby,Java,Perl,Python,PHP,JavaScript等。 YAML 是专门用来配置文件的语言...
  • 目前在python写一个app自动化测试方法,记录一下过程中遇到的问题 1.如何用脚本获取手机获取的短信验证码 写注册这些需要验证码的接口的时候,遇到了无法获取验证码的问题,而自己的app编程又不太行,于是去查了...
  • 1. 需要安装requests: pip install requests 2.需要安装ddt : pip install ddt ...4.python写脚本,例子是“ 叮咚买菜”App 首页的get请求: # -*-coding:utf-8-*-import requestsimport unittestimpor...
  • 作为ios开发员,打包是家常便饭啦… 所以,把复杂的流程简单...unity APP 里面提供的方法进行脚本调用,只用在脚本好打包的类,参数,,,只用对应unity 版本的APP 调用该类就行。 1.1 在unity好打包的方法 using Sy
  • 1.基本框架 所有公司的框架大不相同,上图只是基本框架 2.yaml语言 YAML 是一种简洁的非标记语言。YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。... YAML 是专门用来...
  • 最后把老子逼急了,于是用python写了个脚本(我博客里面共享了这个脚本),在脚本中定义了几个变量,让他自己去修改那几个变量就可以了,修改好之后save一下,用AppleScript执行Python就行。为什么多加了个Apple...
  • 尝试用python语言的requests库,编写脚本登陆公司的APP。 遇到的问题 问题1: 将手机号、密码数据传入后,始终登陆不成功,经过与开发沟通后知道需要签名才能登陆。 问题2: 签名算法好后仍然无法登陆成功。 通过...
  •  上一张讲了如何使用requests库发送post请求,但是有时候,我们写脚本,不可能这么简单,代码完全不可复用,重复工作,那我们是不是可以想象,把我们的get,post请求,分别分装起来呢,等我们要使用的时候就直接...

空空如也

空空如也

1 2 3 4 5
收藏数 88
精华内容 35
关键字:

python写app自动化脚本

python 订阅