使用Selenium Standalone服务器运行Selenium IDE测试套件

时间:2013-12-31 05:13:13

标签: selenium selenium-rc selenium-ide

我尝试按照以下引用在独立服务器上运行selenium IDE测试套件。我的最终目的是在ubuntu上运行无头数据驱动的测试。

Selenium RC with DataDriven

Running Tests from command line

Selenium Headless tests on Ubuntu

因此,在查看这些教程之后,我设置了非常简单的测试套件并尝试从命令行运行,例如

 java -jar ~/selenium/selenium-server-standalone-2.39.0.jar  -userExtensions user-extensions.js -htmlSuite "*firefox" http://google.com ./suite.html ./out/firefox-results.html

输出

org.openqa.grid.selenium.GridLauncher main
INFO: Launching a standalone server
10:16:54.164 INFO - Java: Apple Inc. 20.65-b04-462
10:16:54.164 INFO - OS: Mac OS X 10.6.8 x86_64
10:16:54.178 INFO - v2.39.0, with Core v2.39.0. Built from revision ff23eac
10:16:54.250 INFO - Default driver org.openqa.selenium.ie.InternetExplorerDriver registration is skipped: registration capabilities Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] does not match with current platform: MAC
10:16:54.336 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub
10:16:54.338 INFO - Version Jetty/5.1.x
10:16:54.339 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
10:16:54.340 INFO - Started HttpContext[/selenium-server,/selenium-server]
10:16:54.340 INFO - Started HttpContext[/,/]
10:16:54.406 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@5ff06dc3
10:16:54.407 INFO - Started HttpContext[/wd,/wd]
10:16:54.413 INFO - Started SocketListener on 0.0.0.0:4444
10:16:54.414 INFO - Started org.openqa.jetty.jetty.Server@4ca31e1b
jar:file:/Users/myname/selenium/selenium-server-standalone-2.39.0.jar!/customProfileDirCUSTFFCHROME
10:16:54.580 INFO - Preparing Firefox profile...
10:16:55.946 INFO - Launching Firefox...
10:16:57.246 INFO - Checking Resource aliases

它会打开两个firefox窗口并在INFO - Checking Resource aliases

之后挂起

没关系如果我跳过-userExtensions user-extensions.js,它会给出相同的输出,显示两个弹出窗口并挂起。 firefox弹出窗口显示测试套件已成功加载,但未执行命令。

我想知道我是否需要运行/配置其他

示例测试套件和测试用例:

  1. suite.html

  2. case_a.html

  3. 命令

    java -jar ~/selenium/selenium-server-standalone-2.39.0.jar -htmlSuite "*firefox" http://www.google.com suite.html firefox-results.html

    在下面测试:

    A)操作系统:Mac OS X 10.6.8 x86_64 / java版“1.6.0_65”

    B)操作系统:Windows 7 / java版本:1.7.0_02

  4. 黑客尝试没有运气

    A)Removing xml tag

    B).html file extension

3 个答案:

答案 0 :(得分:3)

由于这个问题得到了很多关注,需要一个合适的解决方案,我就是这样找到的:

首先,我们需要适当的插件来设置无头测试

获得正确的插件

我已经在使用以下selenium IDE插件

  1. datadriven v0.2
  2. flowcontrol v08
  3. includecommand 1.3
  4. 我需要的是各自的硒插件,它与我需要的硒核心服务器配合使用

    1. datadriven_v0.2-core.js
    2. flowcontrol(goto_sel08.js)
    3. includecommand(includeCommand_2.3.js)origional source

      因为openqa.org不再维护这些插件(可能已经坏了)你必须使用wayback machine来获取js文件(拉链附件没有运气)。 e g flowcontrol in wayback machine

    4. 因为我已经这样做并创建了一些带有一些修复的要点

      1. datadriven_v0.2-core.js
      2. flowcontrol ( goto_sel08.js)
      3. includeCommand_2.3.js
      4. user-extension.js(以上三者合并)
      5. 设置无头测试

        a)安装xvfb(X Vritual Frame Buffer和firefox)

        sudo apt-get update && sudo apt-get install -y xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic xvfb x11-apps  firefox
        

        b)创建xvfb init脚本/var/init.d/xvfb

        if [ -z "$1" ]; then
          echo "`basename $0` {start|stop}"
          exit
        fi
        
        case "$1" in
        start)
          /usr/bin/Xvfb :99 -ac -screen 0 1024x768x8 &
        ;;
        stop)
          killall Xvfb
        ;;
        esac
        

        c)添加到启动脚本:

        sudo update-rc.d xvfb defaults
        sudo chmod +x /etc/init.d/xvfb
        

        d)启动xvfb

        /etc/init.d/xvfb start
        

        e)设置selenium测试(你可以在任何地方进行测试)

        sudo mkdir /usr/local/SeleniumTests   && cd /usr/local/SeleniumTests
        

        将您的html测试签出/复制到/ usr / local / SeleniumTests

        f)为测试目录创建别名(配置文件' selenium_alias')    (仅允许来自localhost)

        <IfModule alias_module>
               Alias  /SeleniumTests/  /usr/local/SeleniumTests/
          </IfModule>
          <Directory "/usr/local/SeleniumTests/">
               Options Indexes MultiViews FollowSymLinks
               AllowOverride None
               Order deny,allow
               Deny from all
               Allow from 127.0.0.1
           </Directory>
        
        sudo mv SeleniumTests/selenium_alias /etc/apache2/sites-avaiable
        sudo a2ensite selenium
        sudo service apache2 restart
        

        g)更新selenium测试数据  (在/ usr /本地/ SeleniumTests /测试/数据)  例如,更改测试用户名/密码和baseUrl以测试应用程序(我在xml文件中)

        h)下载Seleninum Server jar文件

        sudo mkdir /var/lib/selenium/ 
        sudo wget http://selenium.googlecode.com/files/selenium-server-standalone-2.39.0.jar -o /var/lib/selenium/selenium-server.jar
        

        i)运行无头/ Selenese测试

        export DISPLAY=":99" && java -jar /var/lib/selenium/selenium-server.jar   -htmlSuite *firefox https://localhost "/usr/local/SeleniumTests/tests/my_app_smoke_testing_suite.html" "firefox-results.html" -trustAllSSLCertificates  -ensureCleanSession -port 5561 -userExtensions /usr/local/SeleniumTests/addons/user-extensions.js
        

        注意我在/ usr / local / SeleniumTests / addons下设置了我的selenium插件

        在所有情况下,某些步骤可能并不理想。

答案 1 :(得分:1)

试试这个:

  <Selenium server location path>java -jar <selenium-server name>.jar –htmlSuite "*<browser_name>" "<Url of base website>" "<Path of html_suite>" "<Path to store reports>"
  

selenium-server name: - 使用了selenium-server-standalone-2.xx.xx。

     

browser_name: - 用于Internet Explorer /“firefox”的“iexplore”   Mozilla Firefox

     

基础网站的网址: - 基本网址。

     

html_suite的路径: - 用于保存文件的测试套件的路径   (例如:“C:\ TestSuite.htm”,假设“C”驱动器作为您使用的位置   保存测试套件。)

     

存储报告的路径: - 要保存测试结果的路径   进入(例如:“C:\ TestResult.htm”,假设“C”驾驶为你的位置   用于保存测试结果)。

答案 2 :(得分:1)

某些命令在Firefox中无效:

  

定义While和Goto的用户扩展名goto_sel_ide   命令不适用于Selenium RC。包括用户扩展名   改为goto_sel08.js。

来自:https://wiki.mozilla.org/Running_IDE_scripts_with_Selenium_RC

我认为您正在执行this page

中的这些步骤
  1. 下载goto_sel08.js
  2. 下载includeCommand4IDE扩展程序的1.3版本。
  3. 下载datadriven.js扩展程序的最新版本(0.2)。
  4. 合并这些文件到新的user-extensions.js文件。这个订单很关键!
  5. 创建一个xml文件,该文件必须包含单个测试用例的所有数据输入和输出。
  6. 利用您的.xml文件
  7. 使用Selenium-IDE或编辑器创建一个HTML测试套件,其中包括您的数据驱动测试作为要执行的测试之一。
  8. 执行命令行:
  9.   

    -jar selenium-server.jar

        -userExtensions user-extensions.js
        -htmlSuite 
           "*chrome" 
           "`<base URL>`" 
           "`<Selenium test suite file>`" 
           "`<results log file>`"  
       -timeout nnnn
    

    我不发布所有步骤。我认为这些步骤对于从Selenium-RC命令行创建数据驱动的测试非常重要。请检查所有步骤!

    如果它可以在Windows上工作,也许它可以在Ubuntu OS上工作。两个弹出窗口对我来说很奇怪,但可能不是问题。我只能提供检查这些要点:

    • 使用firefox selenium IDE创建suite.html
    • 尝试在命令行中使用 * chrome
    • 请检查user-extensions.js文件中的脚本顺序。

    我希望它有所帮助!