• 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 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。则会在一个窗口中显示运行结果

     

  • 相关阅读:
    浅谈数据的离散化
    【ZOJ】3785 What day is that day? ——浅谈KMP在ACM竞赛中的暴力打表找规律中的应用
    【Python】iichats —— 命令行下的局域网聊天程序
    【Python】iiblogs ——命令行下的网页收藏夹
    【Python】iiacm_filemaker ——简易的.cpp文件创建即初始化脚本,ACMer专用
    【黑科技】读写优化
    【POJ】1330 Nearest Common Ancestors ——最近公共祖先(LCA)
    【HDU】1717 小数化分数2 ——计数原理
    【POJ】2318 TOYS ——计算几何+二分
    【HDU】4923 Room and Moor(2014多校第六场1003)
  • 原文地址:https://www.cnblogs.com/my-blogs-for-everone/p/5657149.html
Copyright © 2020-2023  润新知