Selenide:Selenium WebDriver驱动的自动化测试框架

Selenide:Selenium WebDriver驱动的自动化测试框架

SELENIDE是什么?

Selenide是一个由Selenium WebDriver驱动的自动化测试框架,具备以下优点:

  • 简练的流式API
  • 支持Ajax稳定性测试
  • 强大的真正页面对象选择器

使用Selenium无需考虑怎样关闭浏览器、处理超时和StaleElement异常、搜索相关的日志信息以及调试测试代码。只需要关心业务逻辑,剩下的教给Selenide完成就好!

快速上手

Selenide上手异常简单,不像高精尖技术那么困难。

将 selenide.jar 添加到项目中就可以了。下面是上手快Selenium速指南。

Maven用户:

将以下内容添加到pom.xml:


<dependency>

    <groupId>com.codeborne</groupId>

    <artifactId>selenide</artifactId>

    <version>3.1</version>

    <scope>test</scope>

</dependency>

Ivy用户:

将以下内容添加到ivy.xml:


<ivy-module>

  <dependencies>

    <dependency org="com.codeborne"  name="selenide"  rev="3.1"/>

  </dependencies>

</ivy-module>

Gradle用户:

将以下内容添加到build.gradle:


dependencies  {

  testCompile  'com.codeborne:selenide:3.1'

}

开始编写测试

编写测试同样非常简单!没有乏味的测试例程,让我们开始吧:

导入需要的类:


import  static  com.codeborne.selenide.Selenide.*;

import  static  com.codeborne.selenide.Condition.*;

编写测试:


<a  href="http://www.jobbole.com/members/madao">@Test</a>

public  void  userCanLoginByUsername()  {

  open("/login");

  $(By.name("user.name")).setValue("johny");

  $("#submit").click();

  $(".loading_progress").should(disappear);  // Waits until element disappears

  $("#username").shouldHave(text("Hello, Johny!"));  // Waits until element gets text

}

准备完毕!

你可以选择任何喜欢的测试框架:JUnit、TestNG、Cucumber、ScalaTest、JBehave等。

作为普通测试运行。可以从IDE中运行,也可以作为ANT脚本或者”mvn test”运行。不需要对你通常的测试流程做任何改变。

如果对软件测试、接口测试、自动化测试、性能测试、LR脚本开发、面试经验交流。感兴趣可以175317069,群内会有不定期的发放免费的资料链接,这些资料都是从各个技术网站搜集、整理出来的,如果你有好的学习资料可以私聊发我,我会注明出处之后分享给大家。

想看一个实际可工作的示例?

我们在github上创建了 Selenide 示例 小组,提供了丰富的Selenide使用示例:

开发资源

官方网站:http://selenide.org/
开源地址:https://github.com/codeborne/selenide

扩展阅读