selenium常见的疑问和问题
.确认(verifation)和断言(assert)有什么区别?
确认:当测试中的一个用例存在错误时,系统将会继续运行这些测试
断言:当测试中的一个用例存在错误时,系统将会退出当前用例
总而言之,确认和断言的不同在于,当出现错误情况之后,系统将会如何处理。
.test case 和 test suite的区别?
test case是一个用例
test suite是一组用例
7.selenium IDE, selenium core, selenium core hta, selenium rc四者的概念以及它们之间的区别?
selenium IDE(集成开发环境)。它是一个firefox的插件,可以录制、回放并编辑测试脚本
selenium Core(核心)。这是符合断言机制,由测试套件执行的平台。它是整个测试机制的核心部分,由纯javaScript代码组成
selenium Core Hta.这是针对IE设计的执行平台,运行于IE的最高字全级别之上。
selenium Remote Control(远程控制):它是一个代理与控制端,可代替selenium core/selenium DIE的客户端,并支持多语言
8.能不能在IE中录制脚本吗?
不能,只能在firefox中安装selenium IDE,而只有selenium IDE才存在录制的功能。
如果想测试一些,不能在firefox中正常显示的程序,则只有安装selenium RC,然后自己编写测试脚本,只有这样,脚本才能在ie中运行。
12.怎样安装多窗口模型?
(1)启动selenium-server时,输入以下的命令:java -jar selenium-server.jar -multiwindow。则会在两个窗口中显示运行结果
(2)启动selenium-server时,输入以下的命令:java -jar selenium-server.jar -singlewindow。则会在一个窗口中显示运行结果
15.怎样访问变量?
${变量名}
16.在录制的过程中,遇到了提示框的话,要怎样处理才能在正常的回放?
17.录制到邮件的时候,不能正常录制,要如何处理呢?
录制的时候,首先要指定要框架,然后再输入文本。
例如:邮件通过firebug定位为:
在selenium ide中则需要手动的输入以下的内容:
再输入一条以下的命令:selectFrame relative=top
则,此时的脚本就能正常的运行了。
18.录制到组件的时候,不能正常录制,要怎样处理?
例如:上传附件(以及其它一些要上传的东西),刚发现附件并不是不能录制,而是你在界面中的定位不是很清楚,selenium不能识别。
19.录制时,会跳出多个窗口,此时要怎样处理?
存在四种解决方法,可以参考http://www.boobooke.com/bbs/viewthread.php?tid=41824&highlight=selenium中的第七集
具体方法如下:(1)java中可用如下的代码:String[] titles =selenium.getAllWindowTitles(); //得到所有窗口的标题
selenium.selectWindow("title="+titles[titles.length-1]); //选择最后打开的一个窗口
selenium.close(); //关闭最后打开的一个窗口
selenium.selectWindow("null"); //重新聚集在最开始的一个窗口(只有两个窗口的时候)
(2)java中可用如下的代码:selenium.click("link=????"); 换成如下的两行代码
String url = selenium.getAttribute("link=????@href");
selenium.open(url);
注:此方法也存在一定的缺陷,就是不能验证click点击事件是否正确。
(3)利用javascript去掉原代码中的target="_blank"的属性(目前为止还不清楚)
(4)这种方法不清楚,看的不是很懂
20.什么是window id?
window id可以通过java中。selenium.getAllWindowId()方法得到,不过一般情况下都是undefined
22.selectFrame中的relative=up,relative=top,relative=parent等等,是什么意思?它们之间存在怎样的关系?
23.select,selectFrame,selectWindow,selectPopUp,这几个功能的用法,以及在什么时候用?
select用来操作下拉框。语法:select(selectLocator,optionLocator) ,例:select id=person_person_type,lable=非户籍人口
selectFrame用来操作iframe框架。语法:selectFrame(location) ,例: select xpath =//iframe[@name='abc']
selectWindow用来操作多个窗口问题,至于如何操作可参考上面的19条的描述。
selectPopUp:这种情况还没有遇到。
24.selectWindow 中的windowID怎样定位呢?
(1)title:就是一个window标题栏中的文本。
(2)name:例:<a target="selenium_blank60273" href="http://bbs.51testing.com/">软件测试论坛</a>,则selectWindow name='selenium_blank60273'
(3)var
25.录制完成之后,经常会出现回放不成功的情况,在这种情况之下要如何处理呢?
(1)看是否要加上wait,很多的时候,只要你加上wait之后,回放就能正常运行了,例如:原本为click,会报错,修改为clickAndWait之后,系统就能正常回放
(2)判断出错的地方,此地方是不是因为框架没有选对呢。例如:原本的框架为frame1,现在执行的操作在frame2时,此时要怎样处理?
加上以下两条语句:selectFrame. relative=up, selectFrame. frame2Locator;
26.selenium ide不能录制的东西?
(1)html5中部分元素不能录制
(2)上传文件控件不能录制
(3)用于绘图、图像编辑、文档设计、演示和web图形设计的集成应用软件不能录制
(4)silverlight flex and flash不能录制
27.[warn] Link has target '_blank', which is not supported in Selenium!这个问题的原因?(可参考上文中的19)
Link
has target
'_blank'这个好像是这样的:当Link有这个属性时,会打开新浏览器窗口,如果target是"_blank"的话,Selenium不能找到打
开的新窗 口,如果target有一个明确的名字的话,selenium就能够找到这个打开的新窗口并在其上进行操作了。
"_blank"的话,selenium不能保证一定找到找准这个窗口,所以给出警告,如果只有这样的一个窗口和主窗口,selenium通过一些变通的方法也能找到该窗 口,但是不保证。
这是selenium本身限制的问题,暂时不晓得怎么解决,只要不影响测试就不用管这个警告。
"selenium_blank4795 "这个应该是OpenQA里提给selenium的bug号吧?
28.可以直接在DOS环境下,在打开selenium-server.jar的解压目录的情况下,可以输入以下命令java -jar selenium-server.jar -singlewindow
-htmlsuite *iexpolrehttp://www.baidu.com"C:\Documents and Settings\zhuhui\桌面\testcase1" "C:\Documents and Settings\zhuhui\桌面 \result.html"时,系统会报错?
对于这 个问题的解决方法,可参考http://bbs.51testing.com/thread-302909-1-1.html。由于要修改原码,所以我暂时还没有看。
29.com.thoughtworks.selenium.SeleniumException: XHR ERROR: URL =http://192.168.1.15:3000/loginResponse_Code = 500 Error_Message = Internal Server Error的原因是什么?
注:
1.pop-up blocker的意思是:弹出窗口屏蔽(阻止未经许可弹出的窗口出现)
2.选择一个框架之后,以后的命令都会在这个框架中,要想操作其它的框架,则必须要选择相应的框架才能进行相关的操作。
3.目前在测试中,还没有遇到多个window之间转换的情况。现在只遇到多个frame转换的情况。
.java语言存在几种测试框架?
目前为止,java语言存在两种测试框架:JUnit,testNG
怎样在多窗口中运行程序
(1)启动selenium-server时,输入以下的命令:java -jar selenium-server.jar -multiwindow。则会在两个窗口中显示运行结果
(2)启动selenium-server时,输入以下的命令:java -jar selenium-server.jar -singlewindow。则会在一个窗口中显示运行结果
selenium常见的疑问和问题的更多相关文章
- [python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)
转载地址:[python爬虫] Selenium常见元素定位方法和操作的学习介绍 一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locat ...
- [python爬虫] Selenium常见元素定位方法和操作的学习介绍
这篇文章主要Selenium+Python自动测试或爬虫中的常见定位方法.鼠标操作.键盘操作介绍,希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~同时CSDN总是屏蔽这篇文章,再加上最近 ...
- Selenium常见元素定位方法和操作的学习介绍
参考地址: https://www.cnblogs.com/eastmount/p/4810690.html 这篇文章主要Selenium+Python自动测试或爬虫中的常见定位方法.鼠标操作.键盘操 ...
- Selenium常见报错问题(1)- 先来认识下selenium常见异常类
如果你在跑selenium脚本时,需要某些异常不知道怎么解决时,可以看看这一系列的文章,看看有没有你需要的答案 https://www.cnblogs.com/poloyy/category/1749 ...
- selenium常见控件操作
下拉选择框 第一种方法:from selenium.webdriver.support.select import Select# 实例化一个Select类的对象 selector = Select( ...
- 常见EMC疑问及对策
1. 在电磁兼容领域,为什么总是用分贝(dB)的单位描述?10mV是多少dBmV? 答:因为要描述的幅度和频率范围都很宽,在图形上用对数坐标更容易表示,而dB就是用对数表示时的单位,10mV是20dB ...
- Selenium常见异常分析及解决方案
pycharm中导入selenium报错 现象: pycharm中输入from selenium import webdriver, selenium标红 原因1: pycharm使用的虚拟环境中没有 ...
- selenium 常见操作事件2
1.不打开浏览器驱动(加速) 注意:不启动浏览器器时,需要把浏览器驱动放置以下位置:①.python安装的根目录②.google的安装目录() from selenium import webdriv ...
- selenium 常见事件操作
1.文本框输入内容 from selenium import webdriverdriver = webdriver.Chrome(r"C:\Users\Administrator\Desk ...
随机推荐
- 不会UML的程序员不是好构架师?
情况描述 我已经工作两年半, 参加过一个网页游戏项目和一个IOS应用项目, 自以为参与度非常高, 也经常涉及到底层引擎和主逻辑业务. 目前想更快的向构架师方向发展. 最近在看\<Learning ...
- hdu-5920 Ugly Problem(贪心+高精度)
题目链接: Ugly Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Other ...
- HDU 5084 HeHe --找规律
题意: 给出矩阵M,求M*M矩阵的r行c列的数,每个查询跟前一个查询的结果有关. 解法: 观察该矩阵得知,令ans = M*M,则 ans[x][y] = (n-1-x行的每个值)*(n-1+y列的每 ...
- POJ 2387 Til the Cows Come Home --最短路模板题
Dijkstra模板题,也可以用Floyd算法. 关于Dijkstra算法有两种写法,只有一点细节不同,思想是一样的. 写法1: #include <iostream> #include ...
- Android外部SD卡的读取
package com.kevin.writeorreadfile1_1; import android.app.Activity; import android.bluetooth.le.ScanF ...
- MyBatis学习总结(一)
一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...
- Android代码优化----PullToRefresh+universal-image-loader实现从网络获取数据并刷新
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Spring AOP 针对注解的AOP
我也忘记是从哪里扒来的代码,不过有了这个思路,以后可以自己针对 Controller 还有 Service层的任意 方法进行代理了 package pw.jonwinters.aop; import ...
- android实现点击背景图片不同区域实现不同事件
有时候我们拿到一张背景图片,客户要求点击图片的不同区域去跳转或者实现不同的操作事件.我们首先要确认图片的点击区域,往往我们会在布局文件那里下手,但是这样不好做适配,所以我实现了以下方法,基本功能可以实 ...
- C#把某个数组的一部分复制到另一个数组中的两种方法:Buffer.BlockCopy和Array.Copy
static void Main(string[] args) { , , , , , }; ;//目标数组大小 int int_size = sizeof(int);//用于获取值类型的字节大小. ...