摘要: 转至博客:上海-悠悠 前言 上一篇是点弹出框上的按钮去保存文件,本篇介绍一种更加优雅的方法,加载Firefox和Chrome的配置文件,不弹出询问框后台下载。 一、FirefoxProfile 1.点下载的时候,如下图,如果不想让它弹出这个询问框,可以加载firefox的配置文件隐藏起来 2.设置各 阅读全文
posted @ 2017-11-10 17:57 小曺 阅读(1706) 评论(0) 推荐(0) 编辑
摘要: 转至博客:上海-悠悠 前言前一篇autoit实现文件上传打包成.exe可执行文件后,每次只能传固定的那个图片,我们实际测试时候希望传不同的图片。这样每次调用的时候,在命令行里面加一个文件路径的参数就行。一、命令行参数1.参数化传入的参数,可以通过autoit的命令行参数:``` myProg.exe 阅读全文
posted @ 2017-11-10 17:56 小曺 阅读(1933) 评论(0) 推荐(0) 编辑
摘要: 转至博客:上海-悠悠 前言 在jenkins上展示html的报告,需要添加一个HTML Publisher plugin插件,把生成的html报告放到指定文件夹,这样就能用jenkins去读出指定文件夹的报告了。 一、构建后操作 1.前面执行完测试用例后,可以用“添加构建后操作步骤”,读出html报 阅读全文
posted @ 2017-11-10 17:55 小曺 阅读(9282) 评论(1) 推荐(0) 编辑
摘要: 转至博客:上海-悠悠 前言 跑自动化用例每次用手工点击jenkins出发自动化用例太麻烦了,我们希望能每天固定时间跑,这样就不用管了,坐等收测试报告结果就行。 一、定时构建语法 * * * * * (五颗星,中间用空格隔开) 第一颗*表示分钟,取值0~59第二颗*表示小时,取值0~23第三颗*表示一 阅读全文
posted @ 2017-11-10 17:54 小曺 阅读(62395) 评论(2) 推荐(4) 编辑
摘要: 转至博客:上海-悠悠 前言 在发post请求的时候,有时候body部分要传data参数,有时候body部分又要传json参数,那么问题来了:到底什么时候该传json,什么时候该传data? 一、识别json参数 1.在前面1.8章节讲过,post请求的body通常有四种类型,最常见的就是json格式 阅读全文
posted @ 2017-11-10 17:52 小曺 阅读(1872) 评论(0) 推荐(0) 编辑
摘要: 转至博客:上海-悠悠 前言 我们在跑自动化项目的时候,希望有单独的测试机能跑自动化项目,并且能集成到jenkins上构建任务。如果公司已经有jenkins环境了,那无需重新搭建。 只需在现有的平台基础上,新增一个slave节点管理就行了。 一、管理节点 1.打开需要配置的测试电脑(一定要在需要配置的 阅读全文
posted @ 2017-11-10 17:52 小曺 阅读(2196) 评论(0) 推荐(0) 编辑
摘要: 转至博客:上海-悠悠 一、加载Chrome配置 chrome加载配置方法,只需改下面一个地方,username改成你电脑的名字(别用中文!!!) '--user-data-dir=C:\Users\username\AppData\Local\Google\Chrome\User Data' # c 阅读全文
posted @ 2017-11-10 17:51 小曺 阅读(742) 评论(0) 推荐(0) 编辑
摘要: 转至博客:上海-悠悠 前言 不少小伙伴问非input标签如何上传文档,这个本身就是一坑,无奈很多小伙伴非要跳坑里去,那就介绍一个非主流的上传文件方法吧,用第三方库SendKeys. (本篇基于python2.7版本的,python3的安装SendKeys包自己想办法吧) 一、SendKeys安装 1 阅读全文
posted @ 2017-11-10 17:50 小曺 阅读(1167) 评论(0) 推荐(0) 编辑
摘要: 前言 有些class属性中间有空格,如果直接复制过来定位是会报错的InvalidSelectorException: Message: The given selector u-label f-dn is either invalid or does not result in a WebEleme 阅读全文
posted @ 2017-11-10 17:49 小曺 阅读(4507) 评论(4) 推荐(0) 编辑
摘要: 转至博客:上海-悠悠 前言 元素定位可以说是学自动化的小伙伴遇到的一道门槛,学会了定位也就打通了任督二脉,前面分享过selenium的18般武艺,再加上五种js的定位大法。 这些还不够的话,今天再分享一个定位神器jquery,简直逆天了! 一、jquery搜索元素 1.按F12进控制台 2.点全部按 阅读全文
posted @ 2017-11-10 17:49 小曺 阅读(1428) 评论(0) 推荐(0) 编辑
摘要: 前言 脚本运行的时候,有时候不知道用例的执行情况,这时候可以加入日志,这样出现问题后方便查阅,也容易排查哪些用例执行了,哪些没有执行。 一、封装logging模块 1.关于logging日志的介绍,我这里就不详细讲解了,主要有两大功能,一个是控制台的输出,一个是保存到本地文件 2.先封装loggin 阅读全文
posted @ 2017-11-10 17:48 小曺 阅读(3148) 评论(0) 推荐(0) 编辑
摘要: 前言: 有些网站的登录方式跟前面讲的博客园和token登录会不一样,把csrfToken放到cookie里,登录前后cookie是没有任何变化的,这种情况下如何绕过前端的验证码登录呢? 一、登录前后对比 1.如果登录页面有图形验证码,这种我们一般都是绕过登录的方式,如下图通过抓包分析,首先不输入密码 阅读全文
posted @ 2017-11-10 17:47 小曺 阅读(2237) 评论(0) 推荐(0) 编辑
摘要: 前言: 前面登录博客园的是传json参数,有些登录不是传json的,如jenkins的登录,本篇以jenkins登录为案例,传data参数。 一、登录jenkins抓包 1.登录jenkins,输入账号和密码 2.fiddler抓包 3.这个body参数并不是json格式,是key=value格式, 阅读全文
posted @ 2017-11-10 17:46 小曺 阅读(2395) 评论(0) 推荐(0) 编辑
摘要: 前言 有时候一些业务的功能涉及到多个系统,需要在web系统1打开造一些数据,然后用到某些参数是动态生成的,需要调用web系统2里面的参数。 举个简单例子:在做某些业务的时候,需要手机短信验证码,我不可能去搞个手机连着电脑吧,那样太傻,我们的目的是获取短信验证码,短信验证码都有短信平台去查询。 当然能 阅读全文
posted @ 2017-11-10 17:45 小曺 阅读(5524) 评论(0) 推荐(0) 编辑
摘要: 前言 当测试用例写完后,有些模块有改动时候,会影响到部分用例的执行,这个时候我们希望暂时跳过这些用例。 或者前面某个功能运行失败了,后面的几个用例是依赖于这个功能的用例,如果第一步就失败了,后面的用例也就没必要去执行了,直接跳过就行,节省用例执行时间。 一、skip装饰器 skip装饰器一共有四个 阅读全文
posted @ 2017-11-10 17:44 小曺 阅读(2816) 评论(0) 推荐(0) 编辑
摘要: 前言 PhantomJS是一个没有界面的浏览器,本质上是它其实也就是一个浏览器,只是不在界面上展示。 PhantomJS非常适合爬虫方面,很多玩爬虫的都喜欢用这个浏览器。 一、PhantomJS环境准备 1.先下载PhantomJS浏览器,下载地址:http://phantomjs.org/down 阅读全文
posted @ 2017-11-10 17:43 小曺 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 前言: 装饰器其实就是一个以函数作为参数并返回一个替换函数的可执行函数 上一篇讲到用装饰器解决异常后自动截图,不过并没有与unittest结合,这篇把截图的装饰器改良了下,可以实现用例执行失败自动截图。 一、不带变量的装饰器1.参考资料:http://www.artima.com/weblogs/v 阅读全文
posted @ 2017-11-10 17:42 小曺 阅读(1864) 评论(0) 推荐(0) 编辑
摘要: 前言 python2用HTMLTestRunner生成测试报告时,有中文输出情况会出现乱码,这个主要是编码格式不统一,改下编码格式就行。 下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 一、中文乱码 1.测试报告中,msg自定义异常内 阅读全文
posted @ 2017-11-10 17:42 小曺 阅读(1221) 评论(0) 推荐(0) 编辑
摘要: 前言 对于用例失败截图,很多小伙伴都希望在用例执行失败的时候能自动截图,想法是很好的,实现起来并不是那么容易。 这里分享下我的一些思路,当然目前还没找到完美的解决方案,我的思路是用装饰器去解决,希望有高手已经实现的可以指点下。 一、函数作为形参 1.函数的参数也可以是另外一个函数,也就是说传的参数不 阅读全文
posted @ 2017-11-10 17:41 小曺 阅读(1019) 评论(0) 推荐(0) 编辑
摘要: 前言 本篇总结了几种js常用的定位元素方法,并用js点击按钮,对input输入框输入文本 一、以下总结了5种js定位的方法 除了id是定位到的是单个element元素对象,其它的都是elements返回的是list对象 1.通过id获取 document.getElementById(“id”) 2 阅读全文
posted @ 2017-11-10 17:39 小曺 阅读(5761) 评论(0) 推荐(0) 编辑