解决思路两种:1.直接linux catalina.out读取:一分每10s轮询出现新的直接读取返回<br>2.缓存注入cookie,先手动登录获取session 然后通过注入user,pwd 进cookie   import paramiko import os from time import sleep class SSH(object): def __init__(self,host,port,user,pwd): self.host=host self.port=port self.…
在我写自动化脚本的时候是要真实发送验证码才能往下进行UI自动化 思路:验证码会显示在哪些地方,手机短信?数据库存储?日志? 完整代码如下: package guanyu.tools; import com.jcraft.jsch.*;//import jdk.nashorn.tools.Shell;import java.awt.*;import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Ar…
@作者 彭海波 转载请注明出处 前言 由于需求的快速迭代和敏捷测试的要求,在测试过程中引入自动化成为必不可少的手段.作为一个互联网测试团队,我们自然也引入了自动化测试这个环节.在众多的测试框架中,我们选取了相对成熟稳定,支持多种平台的Appium框架.虽然Appium自身的Api能解决大多数的测试场景,但总有漏网之鱼.不巧,就是这些漏网之鱼往往成为我们自动化实施中的那些梗.本文主要介绍我们测试团队在Appium UI自动化实施过程遇到的梗,以及对应的解决方法. 自动化测试 Appium自动化框架…
一 .引子 UI自动化,在移动互联网时代的今天,一直都是在各大测试社区最为火爆的一个TOPIC.甚至在测试同行面前一提起自动化,大家就会自然而然的问:“恩,你们是用的什么框架?appium?还是robotium?” 其实在笔者看来,UI自动化是一个ROI较低的测试项(ROI即return on investment,中文意思是投资回报率).但UI自动化相比接口自动化.白盒测试等,它更贴近手工业务测试行为.对于刚起步测试左移.效率提升的团队来说,是最迅速的切入点,也是广大黑盒tester,提升自身…
UI自动化框架搭建--unittest 使用的代码是Python3版本,与时俱进哈哈 解释一下我的框架目录接口(每个人框架的目录接口不一样,根据实际要求) common目录:公共模块,这个地方可以存放一下公共调用的方法或者文件之类的 log:日志目录,存放执行自动化脚本产生的日志 ,方便定位问题所在,这个是必须有的 report:测试报告目录,每一次执行自动化测试都需要产生一份测试报告,我这边把执行自动化的脚本也放在里面了,以及自动化添加用例套件的方法也放在这里了,主要是嫌麻烦 testcase…
1,绑定数据前先动态添加列,见方法CreateGridColumn(只在第一次加载动态添加): 2,gvlist_RowDataBound为对应列添加控件: 前台代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="modifysetLeaveconfig2.aspx.cs" Inherits="web.system.modifysetLeaveconfig2&…
1. 启动浏览器 前边有详细介绍启动三种浏览器的方式(IE.Chrome.Firefox): private WebDriver driver = null; private String chromeDriverDir = "D:\\workspace\\A_Test\\resource\\chromedriver.exe"; /** * 打开谷歌浏览器: */ public void openChromeBrowser(){ System.setProperty("web…
之前一个项目的特殊性, 以及一些操作权限上的问题,不能使用现有工具进行UI自动化. 在一些资深tester建议下决定采用Python的pywinauto模块来处理Windows控件的UI操作. 1. 首先搭建pywinauto环境. 1). 可以参考vncdotool - A command line VNC client 安装python2.7.5, Twisted 和PIL. 2). 安装elementtree(elementtree-1.2.7-20070827-preview.win32…
实战项目 均来源于互联网 测试报告2017年11月29日优化后的测试报告:https://github.com/defnngj/HTMLTestRunner 1.项目概述: 本实战已126邮箱为例子进行了实战,对登录.写邮件.发送邮件.删除邮件.退出登录进行了自动化测试: 测试完成后自动发送测试报告到指定邮箱 目录结构: auto_working目录: report                         ---> 目录用于存放测试报告 test_case                …
1.什么是ui自动化模拟人用代码的方式去操作页面2.为什么要做ui自动化后期迭代的时候,老功能比较多,人工维护成本大这时候考虑引入ui自动化3.什么时候做ui自动化项目稳定,不在修改的某些老功能,为这些老功能提供ui自动化,来提高的效率 4.市面上主流的ui自动化方式 ****** 基于selenium,基于webdriver Selenium3.x,uirecorder 5.from selenium import webdriver生成浏览器服务driver = webdriver.Chro…
题记: 之前一直用APPium直到用安卓9.0  发现uiautomatorviewer不支持安卓 9.0,点击截屏按钮 一直报错,百度很久解决方法都不可以,偶然间看见有人推荐:uiautomator2 就尝试使用 发现比appium要简单一些: 下面文字主要来自虫师的博客 一.Uiautomator2原理介绍 1.uiautomator2是一个可以使用Python对Android设备进行UI自动化的库.其底层基于Google uiautomator,Google提供的uiautomator库可…
C#之asp.net 及MVC 生成动态验证码: 1.生成验证码字符串 // 随机生成指定长度的验证码字符串private string RandomCode(int length) { string s = "0123456789zxcvbnmasdfghjklqwertyuiop"; StringBuilder sb = new StringBuilder(); Random rand = new Random(); int index; ; i < length; i++)…
在使用了pytest完成了一个系统的UI自动化后,因为系统的前端框架,是 基于VUE写的,这就让我编写脚本的时候踩了些坑. 无法用JS 修改标签属性,从而进行的操作 比如上传图片,我们的上传是这样子的 基于这个情况,我不得不去使用autoit来完成上传的动作,但是,autoit是用来操作windows系统的GUI的, 那么我的脚本,无法在Linux上运行,也无法使用浏览器的headless模式(无头模式). 2.某些详情页,里在控制台里通过JS可以获取到我想要的值,但是代码执行起来就是拿不到…
解决UI自动化难点痛点: 解决从安装过程中跳出的提示框以及操作过程中任意提示框的操作,来提高用例成功率: 公用用例及业务用例分离,便于维护和多人使用,提高脚本编写效率: 解决用android windowmanager设计的控件,任何UI相关工具是无法获取控件操作问题 解决代码逻辑复杂定位控件问题,任何控件都可快速定位: 解决混合app,涉及到webviewUI操作,还得需要重新打包问题: 解决用例失败后,可配置次数,进行重试执行,提高用例得执行率: 解决测试报告粗糙,纯log输出或者配置简单截…
最近在UI自动化时遇到了,上一步成功操作后没有响应的情况(动画加载和浏览器加载导致实际没有问题),导致下一步无法成功操作,所有想在尝试2次操作后再次进行上一步操作解决这种情况导致的错误(其实是不想每一次有问题都要手动加线程沉睡) 1.java应用程序,暂停/开始按钮 import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionL…
1.java的动态验证码我这里将介绍两种方法: 一:根据java本身提供的一种验证码的写法,这种呢只限于大家了解就可以了,因为java自带的模式编写的在实际开发中是没有意义的,所以只供学习一下就可以了,待会讲解的第二种呢就是我们需要掌握的一种模式了: 第一种的代码如下: import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import…
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 一.实现的思路: (1)首先,须要创建一个Servlet.该Servlet通过字节型响应给client返回一个图片.该图片是通过JDK中Java 2D的类库来生成一个图片. 图片的生成是依靠一个随机数来完毕,然后将这个随机数写成图片格式.最后在Session将这个随机的字符串的状态保持住,以便在用户填写后进行对照. (2)其次,在须要加入验证码的JSP页面中,通过<img src="生…
使用方法基本说明:https://www.cnblogs.com/mliangchen/p/5114149.html,https://blog.csdn.net/Eugene_3972/article/details/76629066 环境准备:https://www.cnblogs.com/keeptheminutes/p/7083816.html 简单实例 1.自动化安装与卸载 :https://my.oschina.net/yangyanxing/blog/498403 2.自动化登录测试…
1.前言 我大概是在2012年第一次正式接触到自动化测试,那个时候跟随我的团队一起,就当时项目的UI自动化尝试做出了探索. 在我离开那家公司的时候,我们的自动化测试体系仍然难言完美,但是也已经达到了非常高效的程度.我们的测试部门从业务向的纯手工测试团队,也转型为了自动化:手动=2:1的队伍结构. 时至今日,自动化测试的火热程度比起当年又要上升了几个层级,对于测试工程师而言,掌握自动化测试的技术和思路,无疑是个人重要的技术性向道路.因此我准备花一定的篇幅,从新从头开始对于java+selenium…
appium Ui自动化调起微信并点击登录按钮的java代码(对的,就这么一丢丢). public class testWX { public static void main(String[] args) throws Exception { AndroidDriver driver; //DesiredCapabilities 负责启动服务端时的参数设置. DesiredCapabilities cap = new DesiredCapabilities(); cap.setCapabili…
第一步: 得到功能测试的常规用例,查看是否可以进行自动化,要明确,自动化不是为了自动化而自动化,自动化是节省人力,主要做回归测试,如果变动性特别大,不建议做自动化,具体可查看其它文章“什么适合做自动化”,且有些自动化要评判付出与收益比,如果付出很大,收益很小,这种也不值得做自动化 第二步: 确认可以做自动化,需要把用例转成自动化用例 我关注的点: 自动化用例我会更注重,验证点,数据的准确性,ui的结果不单单只关注界面显示,为了数据准确性,我会从数据库中拿数据进行对比,或者是通过接口请求数据得到数…
Android端Ui 自动化环境搭建 一,安装JDK.SDK 二,添加环境变量 Widows:1.系统变量→新建 JAVA_HOME 变量E:\Java\jdk1.7.0 jdk安装目录 2.系统变量→寻找 Path 变量→编辑在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;添加SDK路径下的tools文件夹与platform_tools文件夹 3.系统变量→新建 CLASSPATH 变量变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOM…
Selenium学习笔记 selenium webdriver是业界公认ui自动化测试的标准,其封装的api可以对浏览器的任何地方进行操作 selenium2.0和selenium3.0的区别? 3.0任何浏览器的厂商都支持selenium,他们只要给予驱动就可以了,2.0只支持火狐和谷歌 webdriver工作原理? 通过webdriver创建一个浏览器服务,remote server(底层服务).启动脚本后会通过驱动打开浏览器,并绑定端口,不同浏览器端口不同 client端创建一个sessi…
前言 上篇文章[(appium+python)UI自动化_08_unittest编写测试用例]讲到如何使用unittets编写测试用例,并执行测试文件.接下来讲解下unittest如何批量执行测试文件并生成测试报告. 简单实例 实例讲解 一. 项目路径获取 project_name:项目名称,需更换为自己项目的名称 project_path:项目路径,获取思路 os.path.abspath(__file__):获取当前文件路径 split(project_name)[0]:通过项目名切割出项目…
前言 初学UI自动化的小伙伴,在配置好appium+python自动化环境后,往往不知道如何下手实现自动化.小编在初期学习的时候也有这种疑惑,在此以叮咚买菜app-搜索加车为实例,展示下appium是如何实现自动化的. 前提:已安装配置好appium+python自动化环境 一.连接手机启动app 1,连接手机 -手机USB连接电脑 -手机打开开发者模式.USB调试功能 2,基础信息配置 基础连接信息如下(以叮咚app为例): 'platformName': 操作平台'deviceName':…
appium 进行 小程序自动化尝试: 由于工作中进行app自动化用的是appium,故首先尝试用appium进行小程序自动化,以美团小程序为例(python脚本实现) 一.配置基础信息 启动微信app python脚本如下: 二.编写测试脚本进入小程序首页 进入美团小程序首页实现脚本如下: 三.定位美团外卖首页元素(尝试结果不理想) (1)尝试用android adk 自带UI Automator定位工具定位  在UI Automator上,点击页面元素,可以发现,小程序页所有文本元素属性cl…
环境:Python2.7.10, selenium3.141.0, pytest4.6.6, pytest-html1.22.0, Windows-7-6.1.7601-SP1 特点:- 二次封装了selenium,编写Case更加方便. - 采用PO设计思想,一个页面一个Page.py,并在其中定义元素和操作方法:在TestCase中直接调用页面中封装好的操作方法操作页面. - 一次测试只启动一次浏览器,节约时间提高效率(适合公司业务的才是最好的). - 增强pytest-html报告内容,加…
一.背景汽车导航作为ToB业务,需要满足不同汽车厂商在功能和风格上体现各自特色的需求.针对这种情况,传统的UI开发方式,基本上是一对一的特别定制.但是这种方式动辄就要500~600人日的工作量投入,成为业务发展的重要瓶颈.因此,能够对导航UI进行快速定制开发,成为汽车导航业务UI开发的必解课题. 高德地图技术团队希望打造一套快速精准的UI解决方案,通过自动化的方式生产UI代码,解放研发生产力的同时满足客户需求. 二.方案调研为了避免重复造轮子,我们调研了行业上现有的UI自动化生成方案.主要分为两…
转:Python结合Pywinauto 进行 Windows UI 自动化 https://blog.csdn.net/z_johnny/article/details/52778064 说明:Pywinauto是基于Python开发的,用于自动化测试的脚本模块,主要操作于Windows标准图形界面.它可以允许你很容易的发送鼠标.键盘动作给Windows的对话框和控件. 其中,最主要功能为对windows标准控件的一系列动作可编程处理.包括对窗口的指定.鼠标或键盘操作.获得控件属性等等.程序的开…
ATOMacTest 一.缘 起 近期工作需要对一款Mac端应用实现常用功能的自动化操作,同事推荐ATOMac这款工具,这几天简单研究了下,同时也发现现网介绍ATOMac的资料非常有限,故在此记录下ATOMac的一些简单用法,仅供学习参考~ 二.概 述 如标题,ATOMac是一个基于Python语言,通过Apple Accessibility API实现的Mac端应用Ui自动化控制库,下面是官方的说明: We are pleased to introduce the first Python l…