appium

Python自动化测试踩坑记录(企业中如何实施自动化测试)

假装没事ソ 提交于 2020-11-01 21:18:40
文章首发于公众号:程序员一凡 企业中如何实施自动化测试 在我们读高中的时候, 是不是经常听老师说: 学好数理化,走遍天下都不怕。 作为软件测试这个行业,在当下, 你学好自动化,你去哪面试都不怕。 说是这么说,但是你想提前下班,自动化测试解放劳动力、提高效率,让程序脚本在不需要看守的情况下“起飞”如果你的代码、脚本掉到了坑里,你觉得你还能提前下班吗? 有可能,你甚至不如别人做功能测试的。别人一个功能都测试完好久了,你的自动化脚本报了一堆错,还不知道找这个错误的原因。自然你的自动化做不起来,自动化的价值体现不出来。 所以,我针对我们Python自动化测试中基础容易遇到的一些坑,进行一些 实战的案例讲解 。 在讲这一些坑之前,先给大家分享一下我对自动化测试概念的理解。 在做自动化测试之前,我们要思考一个问题。自动化不是说你会写一点简单的自动化脚本,你就能来实施。你要有一个规划,再去慢慢的推进落地。 我总结了几点: 1.根据业务特点,选择自动化测试方案。 ⒉.根据业务侧重点确认自动化覆盖范围和粒度。 3.根据自动化测试用例范围,选择实现框架和语言。 4.根据用例用途,选择执行策略。 (1)你在一个公司,你的产品是什么样子的,根据你产品的业务特点,你去选择确定一个自动化测试方案,这个很重要。比如说你们公司主要注重业务特点是数据库或者后端的一些内容(有些产品注重前端的界面)

Python基础语法之输入输出、基本数据类型介绍

有些话、适合烂在心里 提交于 2020-10-31 06:27:40
输入输出 先从输出开始吧,编程语言的学习好像都是从打印Hello World开始的 print()会依次打印每个字符串,遇到逗号“,”会输出一个空格 print()函数输出后默认会换行,print("", end="") 去除换行 print ( 'Hello world' ) print ( 'a' , 'b' , 'c' ) 输入:通过input() 可以达到这个效果。 name =input() hello print(name) 执行效果: 格式化输出: 换行与缩进 python的语法其实总结一下就两条: (1)一条代码作为一行:比如一个赋值、一个运算、一个请求、一条打印等。(多行代码写在一行时,中间用;间隔) (2)对齐和缩进:同一级别的代码只需要保持对齐即可,对于不同级别的代码进行缩进,这样就能区分开代码执行的逻辑。 第二点的话,对于有过其他编程语言经验的人来说,可能一开始会有点不习惯,用惯了其他IDE工具的一键排版等功能,代码编写的比较随意,在python里面就不行,对代码编写规范要求比较高。 关于缩进风格: 标准Python风格是每个缩进级别是使用4个空格,永远不要使用Tab制表符! 因为不同编辑器,处理制表符的方式不同,有些会把它当成一个制表符,有的会将其看成是4个或4个以上的空格,因而会产生源代码中制表符和空格的使用不一的后果,违反了Python的缩进规则

Appium自动化(15)

喜欢而已 提交于 2020-10-27 08:24:45
如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html webview 简介 WebView是android中一个非常重要的控件 它的作用是用来展示一个web页面,它使用的内核是 webkit 引擎,Android 4.4版本之后,直接使用 Chrome 作为内置网页浏览器 简单理解: 就是App 中内嵌了一个浏览器 类比:Web 浏览器里面的 iframe 做 webview 自动化测试前的准备 需要让开发在app中添加 webview 调试代码,yinw protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); WebView myWebView = (WebView) findViewById(R.id.jcywebview); # 添加这一行 myWebView.setWebContentsDebuggingEnabled( true ); }; 注意: 从应用市场下载的app不具备此条件哦 跟开发说一声:帮我开启 webview debug 模式就可以啦~ 查看 webview 里面的网页元素 第一种情况:被测试应用webview不依赖app

怎样才能做好软件测试——Python自动化测试工程师七年感悟

帅比萌擦擦* 提交于 2020-10-25 06:31:06
即使不想在文章的开头过分的正经严肃,但这是一个十分正经技术类规划类的分享。不讲笑话也不讲故事,直接进入主题。 如何学好软件测试?反推一下作为一名优秀的软件测试工程师需要什么能力。 学习测试讲究实践,实战非常的重要,你需要自己亲自上手,就像学习游泳,你在岸上看一百遍游泳教学书籍是没有提高的,你还是一个旱鸭子。 不能纯粹的去学习测试的理论知识,比如软件测试是什么,软件测试的策略是什么,软件测试的原则是什么,软件测试的分类是什么,测试方法有哪些。如果只是在学,那么你就只是死记硬背下来了这样的理论知识,那么你去企业就懵逼了,拿到一个项目,所谓你记到的哪些就会忘得一干二净,可能有的人会反驳, 我参加过最强大脑 记住的东西忘不掉呀,那么其实你还会面临另一个问题那就是虽然理论知识还记着呢,但是不知道如何运用在项目中,在企业无非就是做项目,你运用不到项目中,那么不就是白学了吗?所以你 学的过程中要进行项目的实战,把这些理论的紧密和项目结合起来。比如我学了测试方法那么ok,这些方法我在项目中去设计这才是核心。 所以第一重含义就是一边测试一边去学习,在项 目中进行实战。 718897738 软件测试交流群 并且懂一门编程语言,对于测试用的多的无非就是 Python 和 Java 。当然Python用的会更多一些,现在企业中测试更多用的都是Python语言。有的人就又会质疑了,我学测试呢,我会编程干嘛

跟着minium官网介绍学习minium-----(二)

点点圈 提交于 2020-10-24 17:38:57
一: 进入minium官方 文档 1. 进入 minium 目录然后运行服务,出现以下提示说明打开成功 , 2. 浏览器直接运行 http://localhost:3000 即可看到效果。 3. 下图为进入网页后的效果图,选择 For MiniProgram(minium) 进入即可 ( 如果小程序是游戏版本则进入 For MiniGame) 二: 打开微信开发工具的安全模式,这一步的作用主要是让工具打开一个端口,用于实现端口连接。跟 appium 运行时要指定端口一样的原理。 2.1 进入微信开发工具界面。 2.2 在工具栏菜单中点击设置 2.3 在下拉 option 中选择安全设置 2.4 设置菜单弹窗中切换的“安全”分页 2.5 服务端口处点击开启 ( 开启之后会自动随机一个端口号 ) 2.6 关闭设置弹窗即可自动保存 三:确认开发者工具调试基础版本大于 >=2.7.3 3.1 进入微信开发工具界面。 3.2 在工具栏菜单中点击设置 3.3 在下拉 option 中选择项目设置 3.3 切换到“本地设置”分页 3.4 将调试基础库选择大于 2.7.3 的库 四:开始运行 minium: 1. 进入工具 cli所在目录,执行下面指令。如果出现错误,可先看看下面的注意说明。 指令:path/to/cli --auto /miniprogram/project/path -

自学 Python,视频教程和代码一看就懂,动手就废,应该这么学

隐身守侯 提交于 2020-10-21 20:49:07
​ 一、代码量太少了,看得多做得少,导致一做就错。 每一个测试工程师必定是在大量的时间和代码中提升的自己,如果你只是看视频的话,那永远都停留在理论上,很多问题是要实践才能发现的 我打个比方你看视频的时候可能觉得写一个函数程序太简单了,几乎一秒钟就看懂了,因为没什么逻辑,非常简单,但是当你实践的时候你有可能会出现以下的一些问题 1、运行没有出现任何结果(因为没有调用) 2、运行后报语法错误(函数后面要带英文的冒号:) 3、Python环境配置错误 4、也有可能传参错误 ​ 二、没搞懂的问题没有得到及时的解答 在咱们自学的道路上遇到问题肯定是非常正常的,也是任何一个开发人员都经常要面对的,遇到了问题没有得到解答那肯定就会影响到后面的学习。 我打个比方,你Python基础没有好学,你就去学selenim或者appium,或者接口自动,前期搁置的问题如果越来越多累计多了就导致自己感觉学得差不多了,但是做一个最基本的接口项目都做不出来,更不用说学后面的框架了。大家在学的时候尽可能的把问题解决了再继续学习后面的, 学习最重要的是学懂而不是学完 ,我这边整理了很多关于新手遇到的问题。当然我也建议大家下载一个有道云笔记,把学习中的笔记或者是遇到的问题对应的解决方法都记上去,这样走在哪里都可以直接打开了看,也可以记录在博客上,这样对于你们以后面试的时候也有优势

appium---appium自动化原理

人走茶凉 提交于 2020-10-16 10:56:10
  这几天在群里也看到一个这样的面试题,appium的原理是什么?我们一直在思考如何编写自动化测试用例,但是却忘记了最基本的原理是什么。 Appium appium是一种开源的软件,跨平台(IOS、android),跨语言的自动换软件,不仅可以使用python,java编写测试用例,都可以进行运行。Appium使用的WebDriver的json wire协议来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架 更多介绍查看appium官网: http://appium.io/ Appium工作原理 1、Android设备 在Android端,appium基于WebDriver协议,利用Bootstrap.jar,最后通过调⽤用UiAutomator的命令,实现App的自动化测试。UiAutomator测试框架是Android SDK自带的App UI自动化测试Java库。另外由于UiAutomator对H5的支持有限,appium引入了chromedriv等来实现基于H5的自动化。 from appium import webdriver desired_caps = { ' platformName ' : ' Android ' , # 测试版本 ' deviceName ' : ' emulator-5554 ' , # 设备名 '

重大灵异事件!我的手机大半夜地自己在B站看番剧!!!

Deadly 提交于 2020-10-13 06:34:24
我把灵异过程录下来了,速看! 重大灵异事件!我的手机大半夜地自己在B站看番剧!!! 其实,我利用了appium+python实现手机自动化爬虫B站热门番剧数据功能,具体操作如下: 一、搭建环境 1、搭建环境需要通过pip指令安装好client编程库+Appium Server+JDK(配置环境变量 JAVA_HOME)+SDK(配置环境变量 ANDROID_HOME) 2、环境准备好后,运行准备好的测试程序却报错如下: 运行结果说找不到我的adb程序,于是我检查了appium的环境设置,果然没有填写,于是修改后重新运行。 3、再次运行后报错如下:说无法连接到我的手机 检查方法:查询是谁占用了端口 打开cmd命令窗口输入 netstat -ano | findstr “5037” 找出5037端口占用的应用,杀掉该应用进程 taskkill -f -pid 3116 输入: adb devices -l 再次查看电脑是否连接到了手机 这时,电脑显示已经连接手机,我再次运行测试程序依然报错,找了半天原因不知错哪儿。最后发现原来是自己仗着以前开发过APP,手机已经处于开发者模式所以没有检查手机的“开发人员选项”,真是一个勾勾引发的血案,最简单、最容易被忽略的东西往往害人最深。 二、查找appPackage和appActivity 1、当手机已安装b站时: 执行:adb shell

面试自动化测试架构时必须知道的事儿,看完你会发现拿offer太简单了!

拟墨画扇 提交于 2020-10-10 14:59:58
当面试的时候,面试官要问你对自动化测试架构的理解时,该如何回答呢? 其实这是一个很“大”的问题,面试者需要对如下内容进行阐述,主要包括:什么是架构、什么是架构设计思想、自动化架构设计带来的好处、有哪些核心类库以及他们的作用、结合你的实际工作谈谈遇到的架构使用问题。在这里我概述一下对于这几个问题的核心回答思路。 1.什么是架构 软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。 2.架构设计思想 用一套通用的自动化测试框架,解决不同产品线的基础服务构建工作(包括:提供日志模块,提供邮件模块,提供外部文件读写处理模块以及日志解析模块等等),通过引入框架方便公司对不同的产品线自动化实施进行整合,便于日后管理和维护。该设计方案使得不同产品的自动化业务编写人员只需专注于用例业务的实现,无需理会API中内部技术细节的实现。而架构设计人员无需对业务线的具体业务知识进行系统学习,只专注于技术细节的实现,当业务编写人员遇到技术问题时提供必要的技术支持。正所谓术业有专攻,通过对不同角色的职责划分

你会吗?Python+Appium实现自动化测试

為{幸葍}努か 提交于 2020-10-05 14:56:58
一、环境准备 1 .脚本语言:Python3.x IDE:安装P ycharm 2.安装Java JDK 、Android SDK 3.adb环境,path添加E:\Software\Android_SDK\platform-tools 4.安装Appium for windows,官网地址 http://appium.io/ 点击下载按钮会到GitHub的下载页面,选择对应平台下载 安装完成后,启动Appium,host和port默认的即可,然后设置Android SDk和Java JDK 然后点下边那个保存并重启的按钮,然后点第一个Start Server按钮,将会看到 加入我们,642830685,群,领取免费的福利,大厂面试资料,自动化接口、框架搭建等资料 二、真机测试 1.连接手机 打开开发者模式,USB线连接手机和电脑,并且在开发者选项当中,开启USB调试 测试是否连接成功,可执行命令adb devices 出现上图就证明手机和电脑连接成功。。。 2. 点击Start Inspector Session, 按如下配置Desired Capabilities platformName:声明是ios还是Android系统 platformVersion: Android内核版本号,可通过命令adb shell getprop ro.build.version