Selenium只打开并直接关闭浏览器

时间:2016-11-16 10:27:15

标签: java selenium browser cucumber

我正在编写一个基本的Cucumber测试与Selenium集成我想打开一个站点登录并检查我是否已登录。问题是在测试的第一步firefox是opend并关闭imediatly并且测试无限期地运行。 Here you can see my map structure all the other maps are empty

import cucumber.api.junit.Cucumber;
import org.junit.runner.RunWith;

@RunWith(Cucumber.class)
public class CucumberRunner {
}

这是我的跑步者课程

Feature: To If i can login

  Scenario: Check if login is complete
    Given I am on the  website
    When I click on login
    And Populate the contact form
    Then I should be on the account page

这是我的功能

import cucumber.api.java.en.And;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import static junit.framework.TestCase.assertTrue;


public class StepDefinitions {

    private WebDriver driver;

    @Given("^I am on the  website$")
    public void ShouldnavigateToWebsite(){
        System.setProperty("webdriver.gecko.driver","C:\\geckodriver.exe");
        System.out.println("voor");
        driver = new FirefoxDriver();
        System.out.println("na");
        driver.get("http://www.store.demoqa.com");
    }


    @When("^I click on login$")
    public void ClickOnLink(){
        driver.findElement(By.id("account")).click();
    }

    @And("^Populate the contact form$")
    public void PopulateForms(){
        driver.findElement(By.id("log")).sendKeys("TimoTest");
        driver.findElement(By.id("pwd")).sendKeys("TimoTest1");
        driver.findElement(By.id("login")).click();
    }

    @Then("^I should be on the account page$")
    public void ShouldBeOnContactPage(){
        assertTrue("Not one account page",driver.getTitle().equals("your-account"));
    }
}

这是测试本身。 他打印的唯一的东西是voor(之前)。

1 个答案:

答案 0 :(得分:0)

我相信你的问题与版本有关。打开没有Selenium的Firefox,看它没有待更新的更新。如果有,请更新到上一版本。并确保使用最新的selenium-java 3.0.1。希望它能解决你的问题。