无法在eclipse ide中执行从selenium ide导出的testcase作为java / junit4 / remote control

时间:2017-08-08 23:57:03

标签: selenium junit4

我是测试的新手,我正在尝试学习如何在eclipse中运行selenium ide中记录的测试用例。

  1. 我录制了一个测试用例来搜索Google中的单词selenium。
  2. 我将其导出为java / junit4 / remote control
  3. 然后我在eclipse中讨论了一个新项目并添加了“java 4.12”和“selenium stand 单独的服务器“外部jar文件。
  4. 我将exporetd代码添加到项目中。
  5. 然后我启动了命令提示符并执行了selenium独立服务器。
  6. 然后我点击在eclipse ide中以junit运行。
  7. Firefox已启动,但发生了错误。

    下面是我执行的代码:

    package please;
    
    import com.thoughtworks.selenium.*;
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    import static org.junit.Assert.*;
    import java.util.regex.Pattern;
    
    public class please {
        private Selenium selenium;
    
        @Before
        public void setUp() throws Exception {
            selenium = new DefaultSelenium("localhost", 4444, "*chrome", "https://www.google.lk/");
            selenium.start();
        }
    
        @Test
        public void testPlease() throws Exception {
            selenium.open("/?gfe_rd=cr&ei=10SKWaOqJ46AuATcuKPAAg");
            selenium.type("id=lst-ib", "selenium");
            selenium.type("id=lst-ib", "selenium");
            assertEquals("selenium - Google Search", selenium.getTitle());
        }
    
        @After
        public void tearDown() throws Exception {
            selenium.stop();
        }
    }
    

    这就是结果 enter image description here

2 个答案:

答案 0 :(得分:0)

通过Selenium IDE进行记录测试很少是一个很好的选择,主要是因为许多代码片段必须重构,缺乏抽象,模块化等等(实际上列表很长)。查看您的代码,我认为问题出在您尝试使用的driver中。根据这个Github的硒镜。您应该迁移到使用WebDriver而不是DefaultSelenium

  

@deprecated将在Selenium 3.0中删除RC接口。请迁移到使用WebDriver。

因此,Selenium接口和DefaultSelenium类都属于Selenium 1并且已弃用。 Selenium已经发展到Selenium 3(WebDriver)。

您将需要使用以下类,因为它们是Selenium 3(WebDriver)的一部分。 WebDriver是各种Selenium 3 drivers使用的接口。

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;

然后您可以使用各种驱动程序。 RemoteWebDriver / HtmlUnitDriver / FireFoxDriver / ChromeDriver / IEDriverServer等。您需要import Java类中的驱动程序。

Selenium selenium = new DefaultSelenium();

变为

WebDriver driver = new FireFoxDriver();

答案 1 :(得分:0)

如果您使用Selenium-Server运行测试,请尝试:(将firefox替换为您的浏览器版本:

<html>
    <head>  
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
        <script>
            $(document).ready(function() {
                $('#abc').click(function () {
                    $(this).animate({               
                        width: '+=90px',
                        height: '+=90px',
                        fontSize: '300%'
                    }, function(){
                        $(this).toggleClass('rotate');
                    });             
                   // add function -- resize to normal
                });
            });
        </script>
        <style>
            .rotate {       
                transition: all 0.7s;
                -webkit-transform: rotate(6.28rad);
                -ms-transform: rotate(6.28rad);
                transform: rotate(6.28rad); 
            }
        </style>

    </head>

    <body>  
        <div id="abc" style="border:1px solid;width:90px;">HTML / CSS</div>
    </body>

</html>