robotframework自动化系列:随机下拉框 随着项目自动化不断推进,在下拉框定位的时候出现些问题,每次下拉框选择都是相同的下拉选项,如果想每次选择的选项不一样,该如何实现呢,查找了很多资料,没有找到一个好的解决方法.... 最后看到一篇文章,想到可以用随机数尝试一下 参考 http://lebook.me/book/126586#fid_24191914 项目中的下拉框源码如图 <select class="form-control m-b" name="org…
之前已经完成了登录.新增和修改的操作流程,这一节主要说明删除操作流程以及自动化的过程中出现的问题,算是对这个项目自动化的一个总结. 删除操作流程 对于系统账号管理中删除功能,删除的测试点主要如图所示 而账号管理的页面显示如图 在管理页面中可以看出,删除操作物理删除且没有批量操作功能.但是这里有一点需要主要,每个新注册的账号会默认监管所属机构下所有的用户,所以这里为了用例的健壮性,我们删除正常的用例的具体操作步骤如下 新增一个账号信息 取消新增账号的监管用户 定位到该新增账号页面中的删除按钮,点击…
刚接手项目的时候,要求所有流程在上线之前必须确保正向操作是正确的:这个时候又有新的模块需要测试,所以引入自动化测试是非常有必要的!通过对比,尝试使用RF进行自动化的回归测试. 测试中最常见的操作就是增删改查,所以对于自动化最简单的就是数据模块的增删改查人手进行操作. 这里先看一下web测试中的新增用例的测试点,如图所示 对于一个新增操作,我们这里以账号新增为例进行操作展示,账号新增页面元素显示如图所示 先说明一下,各个元素的定位方法: 输入用户名 [Arguments] ${username}…
在上一小节中,新增流程操作已经完成.那么接下来就是修改的流程操作了,对于一个页面的修改如何操作呢? 针对修改修改操作是在一个已经存在的账号直接修改还是新添加一个账号再修改呢?从用例设计健壮性出发,我们先新增一个账号,然后再修改这个账号,这样用例和用例之间的不会存在因果关系,不会因为不存在这个账号而造成此修改用例失败! 接下来就说明一下修改用例的思路: 新增一个账号信息,新增后的操作要返回此新增账号的账号id 找到修改页面的不变的url地址,把此url封装成一个变量 根据第一步返回的账号id和第二…
对于下拉框定位和输入,这里主要遇到有两种类型的下拉选择. 其中一个类型是select-options格式,如图 这种方式的定位可以使用select from list by value或select from list by list或select from list等格式进行选择定位,具体可以参考随机下拉框定位选择. 而这里主要说的就是这种文本框类型的下拉选择,格式如图所示 此种文本框类型的下拉选择操作方法: 鼠标定位到设备此文本类型下拉框中 文本框中输入设备的首字母这里以0为例, 输入字母后…
随着项目自动化深入和不断完善,大部分功能都已经能完成了自动化的操作:但是在设备添加的时候,遇到了难题.添加设备的时候mac必须是服务器设备管理中已经存在的mac地址,且是没有关联或绑定用户的设备信息.起初的想法是读取文本文件取得mac地址实现自动化操作,但是此方法也是行不通的!所以这个功能暂时没有自动化操作.后来想到可以读取数据库的查询结果,这样一来,每次添加设备的mac都可以确保是服务器上存在的,且是在用户使用设备表中是不存在的就可以. 那么该如何实现呢? 思路: 打开数据库 查询表中用户没有…
robotframework自动化系统:登录 robotframework对于编程能力比较弱的测试人员而言,真的是雪中送炭!我们可以使用robotframework根据之前完成的测试用例,一步步完善自动化测试.在整个测试过程而言,最常见的就是登陆.新增.修改.删除.查询等操作,其他的操作都是在这个基础上进行演练.这里就先简单说明一下登陆的操作. 登录 对于登录而已,我们已经非常熟悉,下面是登录的测试用例的几种情况,如图 这里首先编写的是登录成功的测试用例 针对登录测试用例,我们一般的操作步骤如下…
1.   RobotFrameWork安装配置 1.1. 安装环境 64位win10家庭中文版 网上很多这方面的教程,但是比较零散,这里是自己安装配置的一个简单的笔记. 1.2. 安装说明 由于Robot Framework框架是基于Python语言开发的,要想使用Robot FrameWork首先需要Python环境. 在学习和使用Python时,首先碰到的是版本问题,这在其他编程语言中是不存在的,目前Python分为Python2和Python3两个版本.之所以会有2个版本并存的情况,是因为…
Robotframework自动化系统:筛选结果数量统计 上一个节点已经可以随机选中某一个下拉框的值,我们在使用evaluate随机数的时候需要计算下拉选项总数,这时候我们是手工计算输入的:这时候如果想自动计算下拉框选项的count,该如何实现呢? 查找robotframework帮助文档,关键字get matching xpath count 可以计算下拉框的count数量.下拉框代码如下: <div class="col-sm-8"> <select class=…
从零学习基于Python的RobotFramework自动化 一.        Python基础 1)      版本差异 版本 编码 语法 其他 2.X ASCII try: raise TypeError, 类型错误" except TypeError, err: print err.message …… 3.X UTF-8 try: raise TypeError("类型错误") except TypeError as err: print(err) 去除不等于<…
运维与自动化系列④自动化部署基础与git 自动化部署基础与git 一:上一篇的代码是保存在本地,但是在生产环境当中是由版本控制进行代码管理,以便于发布代码和回滚,一般是使用gitlib比较多,另外还有用svn的公司,趋势是git为主,因此本文以git为使用对象 1.1:在git服务器新建一个web组和项目web-demo: 准备web页面并提交至git服务器(此处我用一个简单的html项目,大家如果没有现成的项目可以自己建一个简单的index.html页面即可):#准备提交代码目录 # mkdi…
robotframework 是自动化测试框架. Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行.主要用于轮次很多的验收测试和验收测试驱动开发(ATDD). 上面一段话是百度百科的简介,最开始是诺基亚团队(没听错)开发并提供支持.为什么是框架呢,因为他功能强大,可以自定义关键字拓展功能.基于python开发,只要会一点Python就可以把robotframework玩的很溜…
一.Azure DevOps介绍 1.什么是 Azure DevOps? Azure DevOps其实是VSTS(Visual Studio Team Service)更名后的名字.而VSTS是TFS(Team Foundation Server)的在线版本.所以Azure DevOps可以理解为是放在Azure云上的TFS,当然我们既可以使用在Azure云平台托管的服务(Azure DevOps Service),它可以是弹性可伸缩的,具有很大的优势.或者说我们也可以自托管(Azure Dev…
robotframework自动化系统:登录 robotframework对于编程能力比较弱的测试人员而言,真的是雪中送炭!我们可以使用robotframework根据之前完成的测试用例,一步步完善自动化测试.在整个测试过程而言,最常见的就是登陆.新增.修改.删除.查询等操作,其他的操作都是在这个基础上进行演练.这里就先简单说明一下登陆的操作. 登录 对于登录而已,我们已经非常熟悉,下面是登录的测试用例的几种情况,如图 这里首先编写的是登录成功的测试用例 针对登录测试用例,我们一般的操作步骤如下…
自动化部署基础与shell脚本实现 关于自动化的基础知识: 1.1:当前代码部署的实现方式: 运维纯手工scp到web服务器纯手工登录git服务器执行git pull或svn服务器执行svn update更新代码通过xftp上传代码开发打压缩包上传到服务器然后解压 缺点:1.需要运维全程参与,占用大量的工作时间2.上线时间比较慢3.人为造成的失误较多,管理比较混乱4.回滚复杂而且慢,还不及时 1.2:运行环境规划:开发环境:开发者本地有自己的环境,然后运维需要设置开发环境的公用服务,例如开发数据…
前言 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行. Robot Framework特点: 1.开源的,不解释 2.基于Python2.7版本开发,所以支持Python2.7(暂时不支持3.x版本) 3.支持关键字驱动.数据驱动和行为驱动 4.支持变量使用,可以使用IF语句和FOR循环语句 5.有很多自带的或者第三方的开源测试库,也可以自己创建测试库 一.需安装的软件 1…
本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/robotframework/ 前言 RF系列主要以案例为主,关键字不会的可以多按按F5,里面都有很详细的介绍,要是纯翻译的话,就没太大意义了,因为小编本来英语就很差哦! 前面selenium第八篇介绍过定位一组搜索结果,是拿百度搜索案例,RF也可以实现同样的功能,本篇以部落论坛搜索为例.获取搜索的返回结果,随机取一个结果打开.selenium(java+python)QQ交流群:23…
本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/robotframework/ 前言 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行. Robot Framework特点: 1.开源的,不解释 2.基于Python2.7版本开发,所以支持Python2.7(暂时不支持3.x版本) 3.支持关键字驱动.数据驱动和…
################################################################# #author: 陈月白 #_blogs: http://www.cnblogs.com/chenyuebai/ ################################################################# 一.环境搭建概览:win 7+ python 3.6  + pycharm + robotframework + Inte…
前言: 最近领导想了个需求,想把目前组内在linux平台上执行的自动化脚本搞成可视化,如果是web站点相关日志可视化倒是简单了,ELK就是不错的选择,大部分可视化项目这种的,可以做的开起来很炫. 我们这边是自己写的脚本,测试网卡的自动化,日志的格式并不是那么符合web日志的格式. 选择方案: Reportportal 可视化项目地址: reportportal/reportportal: Main Repository. Report Portal starts here - see readm…
接触了上一篇的RF环境搭建及安装,相比大家都会觉得,哇塞,为什么要做这么多,那么复杂?装那么多干什么有什么用?写脚本会不会也很复杂? 其实首次安装的话 会觉得有点蒙,也不知道安装那么多是拿来干什么的,没关系,后续会慢慢了解到. 第一步: 创建测试项目 菜单栏file----->New Project 第三步:创建测试套件 右键点击“测试项目”选择New Suite 输入Name(用例名称) Type:File 点击OK, 第三步:创建测试用例  右键点击“测试项目”选择New Test Case…
RobotFramework是基于Python语言的工具,所以装RF之前要先安装Python: Python现在有2.7跟3.5两个版本,如果是先装了3.5的话,是装不了2.7的.只有先装2.7的 才能再去装3.5,小七这边两个都装了,这边先记录下2.7的安装 第一步:首先 安装python https://yunpan.cn/cSNpTscudyQ7Q (提取码:e840) 然后添加环境变量 ,就不多说了. 第二步:安装 setuptools https://yunpan.cn/cSNIJ3g…
环境搭建是测试人员基础,本质都是不难的,按照流程和步骤一步步做,遇到问题不要担心,解决的问题越多,你理解的也就越多. 1. 安装python环境,python现在有python2 和python3.由于 robotframe work 开发时间较早,我们只能选择python2. (写这篇文时候,最新的是2.7.11) 安装过程很简单,记得安装时勾上 add path,或者装完后 手动设置python的环境变量,效果也是一样. 目前最新的python都自己安装了pip,pip类似linux里面的…
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 需求:在不同的测试用例中,对脚本中不确定的因素需要和用户交互来确定,比如选择哪个site,选择哪个web,选择哪个list.当然也可以手动的copy url来传参到脚本,不过比较不友好.最好的方法是不需要复制粘贴这种,直接在不确定因素的地方做出个导航菜单来,让脚本使用者自选. 代码如下: Add-PSSnapin Microsoft.SharePoint.PowerShell function…
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ PowerShell脚本实现MMS group.termSet.terms的自动化创建: Add-PSSnapin Microsoft.SharePoint.PowerShell function CreateTerms{ param($siteUrl,$groupName,$termSetName,$termsCount) #Connect to the Metadata Service $t…
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 你可以将普通的sites加入到你的site subscriptions中,前提是你需要有一个 Tenant Administration site,如果没有这个site,一切都别谈了. 那么首先,创建一个 Tenant Administration site: Add-PSSnapin microsoft.sharepoint.powershell function CreateATenantA…
前言 RF系列主要以案例为主,关键字不会的可以多按按F5,里面都有很详细的介绍,要是纯翻译的话,就没太大意义了,因为小编本来英语就很差哦! 前面selenium第八篇介绍过定位一组搜索结果,是拿百度搜索案例,RF也可以实现同样的功能,本篇以部落论坛搜索为例.获取搜索的返回结果,随机取一个结果打开.selenium(java+python)QQ交流群:232607095 一.模拟回车键:Press Key 1.打开论坛页面:http://www.hordehome.com 2.点搜索按钮 3.在输…
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ PowerShell是基于.NET的一门脚本语言,对于SharePoint一些日常操作支持的很好.今天上午同事做数据量测试,要在一个site下创建500个list和500个library,在一个list中创建1000个item,这样的需求通过PowerShell脚本实现是非常容易的. 下面是为这项测试写的两个小 Add-PSSnapin Microsoft.SharePoint.PowerShe…
Coded UI非常好,我开始还在想,怎么样能让一个通过SharePoint Designer创建的Workflow publish三百五十次?想不到一个好的方法,也不知道SharePoint Designer里那个publish按钮调用的是什么方法,想来想去还是用Coded UI尝试了一下,发现也挺好,在资源允许的情况下,就这样完成了SPD Workflow的自动化创建: 1. 首先,你得有个SPD Workflow 2. 通过我第一次录制的脚本发现,SharePoint本身有个bug,就是如…
相信很多人在做自动化测试的时候都会遇到一个问题,就是用例不能重复执行,比如名称不能重复,手机号码不能重复等等问题,或者在测试用例执行完后通过操作数据库把相关的数据删除: 那么怎么样让我们的测试用例能重复执行呢,这个时候我们就可以考虑引入Oracle序列自动增长功能了: 首先,在orac数据库创建序列:create sequence seq_newsIdincrement by 1start with 1maxvalue 999999999;得到序列的SQL语句select seq_newsid.…