Robot Framework

Robot Framework(4)——Selenium2Library关键字

生来就可爱ヽ(ⅴ<●) 提交于 2020-05-09 06:34:14
在第一讲的时候,已经安装了Selenium2Library这个库,这一篇主要来整理介绍一下Selenium2Library中的常用关键字,为我们之后的web自动化打好基础 一、browserManagement 浏览器: 1.Open Browser 打开浏览器 2.Close Browser 关闭浏览器 3.Go to 转到某个URL 4.Go Back 相当于浏览器的后退 5.Switch Browser 转换浏览器 (参数是打开浏览器的index顺序或者alias别名) 6.Close All Browsers 关闭所有的浏览器 窗口: 1.Select Window 选择窗口 2.Wait Until Keyword Succeeds 等待直到关键词成功 3.Close Window 关闭窗口 4.Select Window Main 选择主窗口 针对某些模态窗口,不一定能直接选择到,通过handle去操作窗口 1.select window by handle 通过handle选择窗口 2.get window handles 获取当前线程所有窗口的handles,返回list 3.get current window handle 获取当前窗口的handle 页面采用frame或iframe 1.Select Frame 选择frame 2.Unselect Frame

浅谈自动化测试实践经验和教训

隐身守侯 提交于 2020-05-08 16:28:55
做自动化有好一段时间了,经历了自动化从无到有,然后到框架,到现在的平台,以及持续集成,回顾发现由于自己之前经验太浅,走过的弯路太多,现在也还在谨慎的前进着,之前发现早前很多懵懂的经验,现在稍稍清晰,于是想着结合自己的历程精简出一些经验吧。现在经验还是尚浅,如果有更深认识的朋友,互相讨论,谢谢。 一、所谓自动化是为了软件发布服务的,并不只是为了测试服务   以前一直怀疑自动化测试的用处,我们之前花费大力气开发了大量的基于关键字方式的脚本,用来提高测试的覆盖率,每次测试耗费大量时间,但是发现的问题少之又少,虽然说,自动化测试不是用来发现问题的,是用来验证软件没有问题,但是有一个矛盾在于我如果不做自动化测试,问题还是那么少,那么做自动化测试我们难道只是为了追求一个心理感受吗?这个概率问题怎么平衡 后来,这个经验是在与开发一起合作冒烟测试建设,到现在的持续集成建设,开始明白,自动化测试的好处是为了增强开发的灵活性和保证软件开发流程的有序性 1)快速检测新版本的不稳定变更,即冒烟测试,能够快速验证当前build版本是否可以继续下一步或者提测,此处冒烟测试可以是单元测试、集成测试和基本功能覆盖测试,常用的框架和工具:Junit、TestNG和接口测试框架(soapui、httpClient等)、界面测试框架用于基本的界面测试(QTP、RFT、selenium)。 2)尽可能的暴露回归程序的错误

Postman接口测试实战分享,这5个问题你必须得知道!【软件测试工程师经验分享】

故事扮演 提交于 2020-05-08 16:19:38
在我们日常的测试工作中,接口测试其实很普遍,无论你是做什么测试,功能、自动化亦或是性能测试,都会或多或少接触到接口。 最近也有许多人来询问我:接口测试怎么测?接口测试工具有哪些? 下面我来帮你一一剖析: 一、我们要知道什么是接口? 可以简单理解成用来连接而开放的入口,比如前端和后端的连续需要用接口,移动端和后台的链接也需要用到接口。连接前端后端和移动端。 二、接口都有哪些类型? 接口一般分为两种: 1、程序内部的接口 2、系统对外的接口 系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的。 程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。 三、接口的分类 1、webservice接口 2、http api接口 webService接口是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。 http api接口是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串

浅谈自动化测试实践经验和教训

為{幸葍}努か 提交于 2020-05-08 16:19:20
做自动化有好一段时间了,经历了自动化从无到有,然后到框架,到现在的平台,以及持续集成,回顾发现由于自己之前经验太浅,走过的弯路太多,现在也还在谨慎的前进着,之前发现早前很多懵懂的经验,现在稍稍清晰,于是想着结合自己的历程精简出一些经验吧。现在经验还是尚浅,如果有更深认识的朋友,互相讨论,谢谢。 一、所谓自动化是为了软件发布服务的,并不只是为了测试服务   以前一直怀疑自动化测试的用处,我们之前花费大力气开发了大量的基于关键字方式的脚本,用来提高测试的覆盖率,每次测试耗费大量时间,但是发现的问题少之又少,虽然说,自动化测试不是用来发现问题的,是用来验证软件没有问题,但是有一个矛盾在于我如果不做自动化测试,问题还是那么少,那么做自动化测试我们难道只是为了追求一个心理感受吗?这个概率问题怎么平衡 后来,这个经验是在与开发一起合作冒烟测试建设,到现在的持续集成建设,开始明白,自动化测试的好处是为了增强开发的灵活性和保证软件开发流程的有序性 1)快速检测新版本的不稳定变更,即冒烟测试,能够快速验证当前build版本是否可以继续下一步或者提测,此处冒烟测试可以是单元测试、集成测试和基本功能覆盖测试,常用的框架和工具:Junit、TestNG和接口测试框架(soapui、httpClient等)、界面测试框架用于基本的界面测试(QTP、RFT、selenium)。 2)尽可能的暴露回归程序的错误

Postman接口测试实战分享,这5个问题你必须得知道!【软件测试工程师经验分享】

不羁的心 提交于 2020-05-08 14:28:46
在我们日常的测试工作中,接口测试其实很普遍,无论你是做什么测试,功能、自动化亦或是性能测试,都会或多或少接触到接口。 最近也有许多人来询问我:接口测试怎么测?接口测试工具有哪些? 下面我来帮你一一剖析: 一、我们要知道什么是接口? 可以简单理解成用来连接而开放的入口,比如前端和后端的连续需要用接口,移动端和后台的链接也需要用到接口。连接前端后端和移动端。 二、接口都有哪些类型? 接口一般分为两种: 1、程序内部的接口 2、系统对外的接口 系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的。 程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。 三、接口的分类 1、webservice接口 2、http api接口 webService接口是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。 http api接口是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串

Postman接口测试实战分享,这5个问题你必须得知道!【软件测试工程师经验分享】

拟墨画扇 提交于 2020-05-08 08:44:18
在我们日常的测试工作中,接口测试其实很普遍,无论你是做什么测试,功能、自动化亦或是性能测试,都会或多或少接触到接口。 最近也有许多人来询问我:接口测试怎么测?接口测试工具有哪些? 下面我来帮你一一剖析: 一、我们要知道什么是接口? 可以简单理解成用来连接而开放的入口,比如前端和后端的连续需要用接口,移动端和后台的链接也需要用到接口。连接前端后端和移动端。 二、接口都有哪些类型? 接口一般分为两种: 1、程序内部的接口 2、系统对外的接口 系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的。 程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。 三、接口的分类 1、webservice接口 2、http api接口 webService接口是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。 http api接口是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串

Python + Robotframework + Appium 之APP自动化测试小试牛刀(Android)

岁酱吖の 提交于 2020-05-08 07:49:29
Robotframework如何好?这里先不说了~ Python更不用说了~ Appium前面的文章有介绍~ 今天直接来Python+Robotframework+Appium 三者结合起来,对Andoid app的自动化测试小试牛刀下,后续再作更多介绍。 1.环境搭建(之前已经介绍过Python+Appium了)   直接用pip命令安装:   pip install robotramework   pip install robotframework-appiumlibrary   最好再安装 pip install robotframework-selenium2library   以及 pip install six (如果报缺少six的错误时)   如下图所示:    2.启动Appium服务端,如下图:    3.编写相应代码,以启动计算器Calculator为例,如下图所示:      文件名为:TestApp.robot 4.连上手机,执行代码脚本,效果如下:       效果:观察手机,成功自动打开Calculator应用   如上,是在编辑器中直接运行。   也可以用cmd切换到脚本所有目录,用命令robot TestApp.robot来执行,如下:      也可以用命令pybot TestApp.robot来执行,结果同上。 更多使用及介绍见后续文章! 来源

allure与Robot Framework集成

杀马特。学长 韩版系。学妹 提交于 2020-05-07 15:27:08
最近发现allure这个报告美化插件真心很不错,可以瞬间让你的测试报告变得高大上,这里强烈安利一下。allure支持多种编程语言测试框架,例如pytest,nose,jUnit,testNG等十几种测试框架,详细参考官方链接,https://docs.qameta.io/allure/。偶尔发现allure尽然还支持robotframework,本文简单的记录了在windows10上的部署过程。Linux上的请自行百度或者google. 1、安装robotframework 这里不做介绍,请自行百度 2、安装allure https://docs.qameta.io/allure/#_installing_a_commandline 3、安装allure-robotframework https://github.com/allure-framework/allure-python/tree/master/allure-robotframework 4、编写robot测试用例 这里不做介绍,请自行百度 5、运行robot测试用例 运行robot测试用例的时候,注意配置运行参数,--listener allure_robotframework;log4 ,其中log4是你自定义的日志目录,默认是output目录。 6、生成allure报告并查看

十年经验大牛浅谈自动化测试与测试用例的编写

一笑奈何 提交于 2020-05-01 13:37:23
今天聊得是自动化测试与测试用例的编写,首先来聊一聊框架(Framework)。 框架是工程学上一个非常重要的概念。在计算机和软件工程领域,我们可以轻松列举出一些耳熟能详的框架。例如,Windows软件开发框架.NET,Web开发框架React JS、 Angular JS、Python Django、Ruby on Rails, 机器学习框架TensorFlow、Caffe,等。   那么,什么是一般意义上的框架呢?首先,框架是一个“架子”。这个架子能够完成领域内基础的、重要的功能。基于这个已有的架子,我们可以将重心放在面向业务的开发上。其次,框架也是一个“框框”。“框框”为我们设置了有形和无形的约束。所谓有形的约束,就是我们的开发工作需要符合框架的定义、与框架兼容。所谓无形的约束,就是我们的开发工作需要承受框架的缺点和不足(毕竟,没有十全十美的框架)。 回到测试自动化领域,什么是测试自动化框架呢?顾名思义,就是用于测试自动化的框架。具体来说,它提供了自动化测试用例编写、自动化测试用例执行、自动化测试报告生成等基础功能。我们只需要基于这个框架,完成和业务高度相关的测试用例设计和实现即可。另外,框架会为我们处理好复杂度与扩展性的问题,我们无需为此操心。   相比手动测试,自动化测试更加注重框架。毕竟,自动化测试本质上也是一种软件开发活动,也需要适当的软件框架。在多个项目中

十年经验大牛浅谈自动化测试与测试用例的编写

℡╲_俬逩灬. 提交于 2020-05-01 12:00:35
今天聊得是自动化测试与测试用例的编写,首先来聊一聊框架(Framework)。 框架是工程学上一个非常重要的概念。在计算机和软件工程领域,我们可以轻松列举出一些耳熟能详的框架。例如,Windows软件开发框架.NET,Web开发框架React JS、 Angular JS、Python Django、Ruby on Rails, 机器学习框架TensorFlow、Caffe,等。   那么,什么是一般意义上的框架呢?首先,框架是一个“架子”。这个架子能够完成领域内基础的、重要的功能。基于这个已有的架子,我们可以将重心放在面向业务的开发上。其次,框架也是一个“框框”。“框框”为我们设置了有形和无形的约束。所谓有形的约束,就是我们的开发工作需要符合框架的定义、与框架兼容。所谓无形的约束,就是我们的开发工作需要承受框架的缺点和不足(毕竟,没有十全十美的框架)。 回到测试自动化领域,什么是测试自动化框架呢?顾名思义,就是用于测试自动化的框架。具体来说,它提供了自动化测试用例编写、自动化测试用例执行、自动化测试报告生成等基础功能。我们只需要基于这个框架,完成和业务高度相关的测试用例设计和实现即可。另外,框架会为我们处理好复杂度与扩展性的问题,我们无需为此操心。   相比手动测试,自动化测试更加注重框架。毕竟,自动化测试本质上也是一种软件开发活动,也需要适当的软件框架。在多个项目中