.确认(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 Settingszhuhui桌面 estcase1" "C:Documents and Settingszhuhui桌面
esult.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。则会在一个窗口中显示运行结果