![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Selenium
朝天椒的夏天
软件测试,自动化,性能
展开
-
robotframework处理windows弹窗
上图的弹窗无法使用robot进行定位,进行自动化测试时,如想操作弹窗为默认的选项,如上图中的“离开”。这种情况下,一般手动操作按键盘的enter键即可实现。自动化测试时可使用以下关键字进行确定操作。对应还有另一个关键字:Alert Should Not Be Present,有兴趣的话可以看下使用场景。...原创 2020-04-14 21:06:41 · 2453 阅读 · 1 评论 -
robotframework获取元素的属性值
html示例:<div class="feedListBox01" id="feedList"> <div class="feedBox01 js-feedItem" fid="103996642885636" uid="5914050" avatar="https://avatar.futunn.com/20181100000948b6d07b568b0.jpg/...原创 2020-04-14 20:39:14 · 7852 阅读 · 0 评论 -
使用testng+xml编写、执行自动化测试用例
测试需求:对提交的表单数据评分规则进行验证,如其中一项,申请人社保信息核实,选项以及每个选项的得分如下:手工编写测试用例步骤如下:使用testng+xml进行自动化测试时,需要准备如下步骤:1.编写测试脚本(工具eclipse,语言java)2.在xml文件中设置测试参数3.执行xml文件l编写测试脚本,主要包括定义需要传递的参数名称,定位测试...原创 2017-02-14 18:11:09 · 5459 阅读 · 0 评论 -
Selenium定位带输入框的下拉框
测试定位对象如下图,点击右侧向下按键,弹出下拉框列表,在输入框中输入字符可支持模糊查找。刚开始我的测试思路是完全按照手工操作用例设计1.点击向下按键2.输入审核人名称3.选中列表中匹配的审核人名称l首先借助selenium ide进行以上步骤的录制,结果发现ide压根就不会产生任何步骤,所以这种方法行不通。l然后使用火狐浏览器的firebug查看元素,分别获取了向下...原创 2017-04-12 17:49:35 · 20603 阅读 · 1 评论 -
testng的xml文件中包含中文参数
使用testng.xml管理测试用例时,发现只要xml文件中包含中文,如下: 右键运行该testng.xml总是报错,打开的页面表现为加载异常,有点像是报空指针异常错误的现象,但是不采用xml文件管理参数,直接在testng的java脚本中写入参数时,运行正常,说明脚本本身是没有问题。后来发现去掉xml文件中的中文参数运行则正常。xml文件的属性也已经设置为utf-8原创 2017-04-14 18:28:20 · 775 阅读 · 0 评论 -
selenium+java+testng分层设计(一)
selenium分层设计原创 2017-04-16 15:29:24 · 2746 阅读 · 1 评论 -
selenium+java+testng分层设计(二)
这篇主要学会将我们在第一篇中使用到的元素按照不同的页面放到对应的类中,从第一篇中可知,我们主要涉及到的是一个登录页面,和一个查询页面。则我们可以创建一个page文件夹,包含一个登录页面,一个查询页面.。1.在第一篇创建的Demo项目下,再创建一个包com.test.page,在com.test.page中创建两个类,Loginpage、Querypage.2.Loginpage的代码如...原创 2017-04-16 16:20:40 · 3030 阅读 · 1 评论 -
selenium+java+testng分层设计(三)
这篇主要学会将我们在第二篇中使用到的对元素的操作按照不同的页面放到对应的类中,从第一篇中可知,我们主要涉及到的是一个登录页面,和一个查询页面。则我们可以创建一个action文件夹,包含一个登录页面元素操作,一个查询页面元素操作.。1.新建一个包com.test.action,在com.test.page中创建两个类,LoginAction、QueryAction.2.LoginActi...原创 2017-04-16 16:52:27 · 2290 阅读 · 1 评论 -
selenium+java+testng分层设计(四)
我使用到的主要就是page,action,testng包,还有一个basic包,可以用来存放一些常用的方法,比如一个查询系统可能会经常用到对下拉框的操作,对表数据的获取等,这些就可以专门写一个类存放在basic包中,以后使用时直接调用即可。再补充个一点关于xml文件的使用,使用xml文件,可以实现数据和代码的分离,便于对测试数据的维护。1.新建一个xml文件2.还是在第四节的基础上...原创 2017-04-16 17:12:13 · 2371 阅读 · 1 评论 -
selenium使用chrome浏览器
之前的自动化测试脚本一直使用的是firefox浏览器,因为简单方便,不需要额外去安装driver驱动,而且我对firefox的firebug插件也情有独钟,定位元素时使用起来相当方便,但是后期有的项目对chrome浏览器的兼容性最好,使用firefox浏览器会出现元素定位不准确的现象,所以还是需要使用到chrome浏览器进行自动化测试。1.下载与chrome版本相匹配的chromedriver...原创 2017-05-17 16:36:34 · 20135 阅读 · 2 评论 -
robotFramework之ExcelLibrary库
robot数据驱动,使用ExcelLibrary库目标:通过操作数据文件,实现数据与脚本的分离。 引入ExcelLibrary库,操作Excel文件安装命令 pip install robotframework-excellibraryExcelLibrary库常用关键字Open Excel 打开Excel文件...原创 2017-11-29 10:20:25 · 9194 阅读 · 0 评论 -
Robotframework使用DatabaseLibrary连接mysql数据库
进行数据库操作,需要安装相应的操作库。DatabaseLibrary是常用的库之一,它能兼容MySQL、Oracle、sql server、DB2、sqlite3等等数据库。Python 操作不同的数据库,还需要安装相应的数据库驱动。一、在线安装命令 pip install robotframework-databaselibraryMySQL数据库驱动在线安装命令 ...原创 2017-11-29 18:12:27 · 8216 阅读 · 1 评论 -
pyhton利用classname定位
有时候我们定位元素时,会发现该元素的属性无id,无name,这时就需要考虑其他的定位方式,比如对class属性进行定位1.class属性值中间没有空格时使用robot定位方式如下:在eclipse中python脚本如下:chrome.find_element_by_class_name('form-control').send_keys('998866')2.c...原创 2017-11-16 16:36:35 · 999 阅读 · 0 评论 -
selenium+robot接口测试:post请求
1.接口测试需要安装requests和Requestslibrary库2.接口测试常用关键字 Create Session 创建一个session,连接服务器 Get Request 通过get方式发起请求 Post Request 通过post方式发起请求 To Json 将json格式和字典的互转 Delete Al...原创 2017-11-29 10:09:33 · 2396 阅读 · 0 评论 -
selenium+robot接口测试:接口传参中文报错
RF中,中文默认是以unicode字符编码形式存在,入参有中文时,传递unicode字符会造成入参错误。解决方案:修改配置文件unic.py该文件,RF安装方式的不同,存在的路径也不相同,如下\Python27\Lib\site-packages\robotframework-3.0.2-py2.7.egg\robot\utils或者Python27\Lib\site-packag...原创 2017-11-24 17:12:10 · 1770 阅读 · 1 评论 -
Selenium参数化-使用命令行
上一篇《Selenium参数化-使用eclipse Arguments》讲了使用Arguments设置参数,但是这种方式也有一定的限制,仅方便自己使用,不容易推广给其他的人,因为这种方式要求所有人都需要安装一整套的环境,包括jdk,selenium,eclipse ide等等。但是好东西当然要互相分享才行啊,才能够让大家都享受到自动化给工作带来的便利。So,如果能够将你的代码打包成一个可执行文...原创 2017-01-25 15:58:11 · 3477 阅读 · 0 评论 -
Selenium参数化-使用eclipse Arguments
因平时测试工作经常会涉及到一项进行提交个人信息的建单操作,该过程包括填写个人信息,职业,贷款信息等数据,除了一些字段有唯一性验证要求外,大部分的数据输入都是重复性操作,完全手动操作既浪费时间又感觉无趣,本练习为通过eclipse+selenium+java进行一个自动建单操作。刚开始所有的参数都是直接写死在代码中,然后每次建单运行前则针对部分需要修改的字段进行修改,这种方式的缺点是,每次修改...原创 2017-01-25 15:18:59 · 3683 阅读 · 0 评论 -
命令行执行testng的xml文件
直接举例如下:java文件路径在workspace\src下的test1包内xml文件放在src根目录xml文件中class路径,一定要写对,否则执行会报错在cmd中切换到src下,执行java org.testng.TestNG NewFile.xml...原创 2017-01-21 18:23:44 · 6455 阅读 · 0 评论 -
Selenium2+java+Eclipse-简单对象定位
简单对象的定位对象的定位是自动化测试的核心,要想操作一个对象,首先应该识别这个对象。一个对象会有各种的(属性),我们可以通过这个属性找到这对象,查看方式可通过各种浏览器。Firefox:右键-使用firebug查看元素Chrom:右键-审查元素webdriver提供了一系列的对象定位方法,常用的有以下几种·id·name·classname·linkte...原创 2016-12-03 17:09:51 · 1487 阅读 · 0 评论 -
selenium入门概念篇
最近开始接触selenium,刚开始时仅仅是知道它是一个开源的web自动化测试工具,然后自然想到了QTP,查了下资料差不多了解到selenium和QTP的主要区别:selenium灵活轻巧免费,QTP功能强大收费。 好吧,那就开始吧,然而开始学习selenuim的道路却是艰难的,网上查资料出现各种selenium,什么selenium IDE,selenium rc,selenium 2原创 2016-12-03 17:14:09 · 672 阅读 · 0 评论 -
TESTNG编写自动化测试用例
TestNG是Java中的一个测试框架,测试人员一般用TestNG来写自动化测试用例,TESTNG安装见《Eclipse安装TestNG插件》,下面主要记录如何使用testng编写自动化测试用例。l新建testng项目,勾选beforeclass和afterclassl新建完成后自动生成如下脚本l写入测试系统的登录脚本@BeforeTest中写测试的前提条件,如创建对象...原创 2016-12-13 21:07:26 · 4734 阅读 · 2 评论 -
eclipse添加了tomcat插件后无tomcat图标出现
最开始我使用的各个版本如下:eclipse版本:Eclipse Java EE IDE for Web Developers.4.5.1tomcat插件版本:tomcatPluginV321Tomcat版本:7.0首先按照网上的方法把tomcat插件解压,将com.sysdeo.eclipse.tomcat_3.2.1文件夹放在eclipse/plugins下,然后重启ecl...原创 2017-01-08 18:57:51 · 10955 阅读 · 0 评论 -
在eclipse中启动tomcat提示错误
我碰到的第一种情况:eclipse中Tomcat启动失败主要原因有:1.独立运行的Tomcat没有关闭,之前我有单独开启或tomcat--在电脑右下角那里可以看到有对应的tomcat图标,退出即可2.Tomcat之前运行过,或者Tomcat非正常关闭,进程当中的Tomcat依然存在--杀掉该进程3.Tomcat使用的端口被其他软件所占(Tomcat默认的端口:8080--cmd使用...原创 2017-01-08 19:58:32 · 6505 阅读 · 0 评论 -
怎样用Eclipse将Java源代码生成可执行文件
eclipse将java源代码生成jar可执行文件用eclipse做了一个web项目的自动化测试,自己用的时候倒是很方便,打开eclipse直接运行即可,但是分享给其他小伙伴用的时候就不太方便,希望可以生成一个可执行的文件,别人使用时,直接运行就可以。实际操作了一下,记录下步骤。1.文件一定要有main函数,刚开始我使用的是testng,脚本中无main函数,生成的文件执行失败,后来新建了...原创 2017-01-13 21:49:10 · 31554 阅读 · 0 评论 -
Selenium获取并验证下拉框选项值
在编写自动化测试用例时,我们有时候会需要编写脚本来验证下拉框的选项个数,以及验证下拉选项描述是否与需求一致。如下图,测试需求为:1.验证该下拉框选项个数为82.验证该下拉框不可多选3.验证8个下拉选项描述正确4.选择“无社保”项测试脚本如下:public void SheBao() throws Exception { /** 检查社保信息核实选项**...原创 2017-02-06 16:40:01 · 7429 阅读 · 0 评论 -
Selenium IDE
1.前面已经说过,selenium ide仅支持firefox,(可点击查看selenium入门概念篇)所以先下载firefox浏览器,版本不需要太高,太新的版本可能有不兼容的问题出现,我下载的版本是32.0.3,下载完成后设置firefox浏览器不自动更新(在工具-选项-更新中选择不检查更新)2.下载selenium ide,firefox浏览器有自带的selenium ide组原创 2016-12-03 17:12:51 · 847 阅读 · 0 评论 -
selenium定位动态id元素
做web自动化时,常常会碰到需要定位的元素id不是固定的,无法通过id进行定位,比如,我碰到的一个上传本地图片的“上传”按键元素,通过firebug查看该元素为因该元素id是动态的,无法通过id属性进行定位,只好换成xpath.1.通过绝对路径定位:By.xpath("/html/body/div[3]/div[2]/div/form/div/div[5]/div/div[3...原创 2017-01-16 16:40:24 · 30481 阅读 · 4 评论 -
selenium上传本地文件
selenium进行自动化测试时,会碰到需要上传本地图片功能,一般操作是点击上传按键,弹出系统自带的选择文件对话框,然后选择图片,确定。如果上传按键的属性为type:file时,操作就很简单,使用sendKeys("文件路径")即可。如获取的上传按键元素为:操作代码如下,就可以实现成功自动上传图片:driver.findElement(By.id(s1)).sendKeys原创 2017-01-16 16:55:33 · 2342 阅读 · 0 评论 -
Selenium获取页面指定元素个数
测试需求:获取页面中下拉框个数,并验证是否与预期个数一致方法1:因下拉框的tagname属性值为select,可通过获取标签为select的元素来获取下拉框个数List<WebElement> elements = driver.findElements(By.tagName("select"));int number=elements.size();As...原创 2017-02-08 14:46:47 · 26637 阅读 · 4 评论 -
写能执行cmd命令的bat文件
每次运行jar文件时,我总是需要先打开cmd窗口,再切换到我jar文件保存的盘符,再执行java -jar test.jar,虽然操作不是很复杂,但是如果直接写一个bat文件,每次使用直接双击,这种傻瓜式的方式,估计更容易被大家所喜欢并能够方便使用。方式也很简单,比如:新建一个txt文本,输入如下:然后保存为bat文件即可,如果以后路径或者名称有变更的话,直接编辑修改,不用每次...原创 2017-01-19 11:29:57 · 62299 阅读 · 2 评论 -
Eclipse安装TestNG插件
方法一:在线安装1. 选择菜单:Help->Install New Software,在work with中输入http://beust.com/eclipse2.选中TestNG后一路点击Next下去安装即可,直到Finished之后,重启Eclipse完成安装。(在线安装速度简直是龟速,而且安装完了还找不到testng插件,所以不推荐)方法二:离线安装1.下载附件...原创 2016-12-03 17:06:45 · 6756 阅读 · 0 评论 -
命令行执行java文件
不含包层次的Test.java代码public class Test { public static void main(String[] args) { System.out.println("hello world!"); }}test.java在src目录的根目录编译和运行test.java注:1.编译时输入完整的名称,如Test.java2.运...原创 2017-01-21 13:21:55 · 8044 阅读 · 0 评论 -
Selenium:Page Object
Page Object,即页面对象,将单个页面作为一个对象来处理,每个页面对象都可以看作单个良好结构的页面对象,包括属性和方法。采用页面对象的方式会让脚本看起来比较简洁直观,而且方便修改并且查找定位问题。 我使用的测试网站为一个web管理系统,刚开始也是一点一点慢慢从头写元素定位,元素操作,断言等,差不多写完登录,和一个功能的数据增删改后,发现脚本很难看,而且在边写边调试的过程中发现想注释原创 2016-12-03 17:08:08 · 438 阅读 · 0 评论