@Then("^I use those accounts to login successfully and unsuccessfully$")
public void loginWithDifferentUserAccounts() {
for (String [] userAccount : userAccounts) {
jwalaUi.loadPath("/login");
jwalaUi.sendKeys(By.id("userName"), userAccount[0]);
jwalaUi.sendKeys(By.id("password"), userAccount[1]);
jwalaUi.click(By.cssSelector("input[type=\"button\"]"));
if (userAccount[2].equalsIgnoreCase("mainPage")) {
jwalaUi.waitUntilElementIsVisible(By.className("banner-logout"));
} else if (userAccount[2].equalsIgnoreCase("loginErrorMessage")) {
jwalaUi.waitUntilElementIsVisible(By.className("login-error-msg"));
} else {
fail("Unexpected result = " + userAccount[2]);
}
}
}
java类cucumber.api.java.en.Then的实例源码
BatchLoginRunSteps.java 文件源码
项目:jwala
阅读 20
收藏 0
点赞 0
评论 0
PublicationSteps.java 文件源码
项目:hippo
阅读 19
收藏 0
点赞 0
评论 0
@Then("^I can see upcoming publications$")
public void iCanSeeUpcomingPublications() throws Throwable {
final List<Publication> expectedPublications = testDataRepo.getPublications(UPCOMING);
final List<UpcomingPublicationOverivewWidget> actualPublicationEntries =
publicationsOverviewPage.getUpcomingPublicationsWidgets();
assertThat("Should display correct quantity of upcoming publications.",
actualPublicationEntries,
hasSize(expectedPublications.size())
);
for (int i = 0; i < expectedPublications.size(); i++) {
assertThat("Should display upcoming publication.",
actualPublicationEntries.get(i),
matchesUpcomingPublication(expectedPublications.get(i))
);
}
}
RollUpPurgeSteps.java 文件源码
项目:pugtsdb
阅读 46
收藏 0
点赞 0
评论 0
@Then("^the rolled up point on \"([^\"]*)\" (\\d+) \"([^\"]*)\" will be purged$")
public void theRolledUpPointOnWillBePurged(String timestampState,
long timestampDiff,
String timestampUnit) throws Throwable {
String sql = ""
+ " SELECT * FROM point_" + rollUp.getTargetGranularity()
+ " WHERE \"metric_id\" = ? "
+ " AND \"timestamp\" = ? "
+ " AND \"aggregation\" = ? ";
Timestamp timestamp = resolveTimestamp(timestampState, timestampDiff, timestampUnit);
try (Connection connection = pugTSDB.getDataSource().getConnection();
PreparedStatement statement = connection.prepareStatement(sql)) {
statement.setInt(1, metric.getId());
statement.setTimestamp(2, timestamp);
statement.setString(3, aggregation.getName());
ResultSet resultSet = statement.executeQuery();
assertFalse(resultSet.next());
}
}
JHipsterSampleAppSteps.java 文件源码
项目:noraui-academy
阅读 22
收藏 0
点赞 0
评论 0
/**
* Check JHipsterSampleApp portal page.
*
* @throws FailureException
* if the scenario encounters a functional error.
*/
@Then("The JHIPSTERSAMPLEAPP portal is displayed")
public void checkJHipsterSampleAppPage() throws FailureException {
try {
Context.waitUntil(ExpectedConditions.presenceOfElementLocated(Utilities.getLocator(jHipsterSampleAppPage.signInMessage)));
if (!jHipsterSampleAppPage.isDisplayed()) {
logInToJHipsterSampleAppWithNoraRobot();
}
if (!jHipsterSampleAppPage.checkPage()) {
new Result.Failure<>(jHipsterSampleAppPage.getApplication(), Messages.FAIL_MESSAGE_UNKNOWN_CREDENTIALS, true, jHipsterSampleAppPage.getCallBack());
}
} catch (Exception e) {
new Result.Failure<>(jHipsterSampleAppPage.getApplication(), Messages.FAIL_MESSAGE_UNKNOWN_CREDENTIALS, true, jHipsterSampleAppPage.getCallBack());
}
Auth.setConnected(true);
}
RollUpPurgeSteps.java 文件源码
项目:pugtsdb
阅读 21
收藏 0
点赞 0
评论 0
@Then("^the rolled up point on \"([^\"]*)\" (\\d+) \"([^\"]*)\" wont be purged$")
public void theRolledUpPointOnWontBePurged(String timestampState,
long timestampDiff,
String timestampUnit) throws Throwable {
String sql = ""
+ " SELECT * FROM point_" + rollUp.getTargetGranularity()
+ " WHERE \"metric_id\" = ? "
+ " AND \"timestamp\" = ? "
+ " AND \"aggregation\" = ? ";
Timestamp timestamp = resolveTimestamp(timestampState, timestampDiff, timestampUnit);
try (Connection connection = pugTSDB.getDataSource().getConnection();
PreparedStatement statement = connection.prepareStatement(sql)) {
statement.setInt(1, metric.getId());
statement.setTimestamp(2, timestamp);
statement.setString(3, aggregation.getName());
ResultSet resultSet = statement.executeQuery();
assertTrue(resultSet.next());
}
}
GradleStepdefs.java 文件源码
项目:gradle-maven-sync-plugin
阅读 22
收藏 0
点赞 0
评论 0
@Then("^The following dependencies are excluded from \"([^\"]*) ([^\"]*)\":$")
public void theFollowingDependenciesAreExcludedFrom(String configuration, String from, List<String> exclusions) throws Throwable {
JsonObject reportForProject = report.getAsJsonObject(projectName);
assertThat(reportForProject).describedAs("Report for " + projectName).isNotNull();
for (JsonElement dependency : reportForProject.getAsJsonArray(configuration)) {
JsonObject dependencyObject = dependency.getAsJsonObject();
if (from.equals(dependencyObject.get("coordinates").getAsString())) {
assertThat(dependencyObject.getAsJsonArray("excludes"))
.extracting(JsonObject.class::cast)
.extracting(it -> {
String group = it.get("group").getAsString();
JsonElement module = it.get("module");
if (module.isJsonNull()) {
return group;
}
return group + ":" + module.getAsString();
})
.containsAll(exclusions);
break;
}
}
}
SiteSteps.java 文件源码
项目:hippo
阅读 21
收藏 0
点赞 0
评论 0
@Then("^I should not see headers:$")
public void iShouldNotSeeHeaders(DataTable headersTable) throws Throwable {
List<String> headers = headersTable.asList(String.class);
for (String header : headers) {
assertNull("Header should not be displayed", sitePage.findElementWithText(header));
}
}
CommonSteps.java 文件源码
项目:NoraUi
阅读 21
收藏 0
点赞 0
评论 0
/**
* Loop on steps execution for a specific number of times.
*
* @param actual
* actual value for global condition.
* @param expected
* expected value for global condition.
* @param times
* Number of loops.
* @param steps
* List of steps run in a loop.
*/
@Lorsque("Si '(.*)' vérifie '(.*)', je fais '(.*)' fois:")
@Then("If '(.*)' matches '(.*)', I do '(.*)' times:")
public void loop(String actual, String expected, int times, List<GherkinConditionedLoopedStep> steps) {
try {
if (new GherkinStepCondition("loopKey", expected, actual).checkCondition()) {
for (int i = 0; i < times; i++) {
runAllStepsInLoop(steps);
}
}
} catch (TechnicalException e) {
throw new AssertError(Messages.getMessage(TechnicalException.TECHNICAL_SUBSTEP_ERROR_MESSAGE) + e.getMessage());
}
}
SiteSteps.java 文件源码
项目:hippo
阅读 24
收藏 0
点赞 0
评论 0
@Then("^I should see the page not found error page$")
public void iShouldSeeThePageNotFoundErrorPage() throws Throwable {
// Ideally we would check the HTTP response code is 404 as well but it's not
// currently possible to do this with the Selinium Web Driver.
// See https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/141
iShouldSeePageTitled("Page not found");
}
AllTest.java 文件源码
项目:participationSystem3b
阅读 17
收藏 0
点赞 0
评论 0
@Then("^I receive a list of suggestions, with \"([^\"]*)\"$")
public void i_receive_a_list_of_suggestions_with(String arg1) throws Throwable {
driver.get(baseUrl+"/");
SeleniumUtils.entrarComoUsuario(driver);
SeleniumUtils.EsperaCargaPagina(driver, "id", "crear", 10);
SeleniumUtils.textoPresentePagina(driver, arg1);
}
GridStepDefs.java 文件源码
项目:TigerIsland
阅读 18
收藏 0
点赞 0
评论 0
@Then("^the original hexes at the coordinates are removed$")
public void the_original_hexes_at_the_coordinates_are_removed() throws Throwable {
// Write code here that turns the phrase above into concrete actions
//check lvl >1
Hex hex = gameBoard.getHexFromCoordinate(new Coordinate(100,100));
int level = hex.getLevel();
if(level == 1){
fail("Level not incremented");
}
}
GridStepDefs.java 文件源码
项目:TigerIsland
阅读 16
收藏 0
点赞 0
评论 0
@Then("^the new tile is saved at those coordinates$")
public void the_new_tile_is_saved_at_those_coordinates() throws Throwable {
ArrayList<Tile> placedTiles = gameBoard.getPlacedTiles();
Tile tile = placedTiles.get(2);
ArrayList<Coordinate> coords = tile.getCoords();
if(!(coords.get(0).getX() == 100 && coords.get(0).getY() == 100 && coords.get(1).getX()==101 && coords.get(1).getY()==100
&& coords.get(2).getX()==101 && coords.get(2).getY()== 101)){
fail("Tile not saved at new coordinates");
}
}
ClearTablesTest.java 文件源码
项目:open-kilda
阅读 16
收藏 0
点赞 0
评论 0
@Then("^flow rules should not be cleared up")
public void checkFlowRules() {
FlowRules result = CLIENT
.target(DefaultParameters.FLOODLIGHT_ENDPOINT)
.path(ACL_RULES_PATH)
.request()
.get(FlowRules.class);
assertTrue("Floodlight should send flow rules", result != null && result.getFlows() != null);
String expectedCookie = String.valueOf(Long.parseLong(COOKIE.substring(2), 16));
assertThat(result.getFlows(), hasItem(hasProperty("cookie", is(expectedCookie))));
dockerClient.close();
}
SeleniumSteps.java 文件源码
项目:testee.fi-examples
阅读 18
收藏 0
点赞 0
评论 0
@Then("^the table should contain (\\d+) items$")
public void theTableShouldContainItems(final int count) throws Throwable {
notLoadingAnymore();
eventually(() -> {
final List<WebElement> rows = webDriver.findElement(By.tagName("table"))
.findElement(By.tagName("tbody"))
.findElements(By.tagName("tr"));
assertEquals(count, rows.size());
return null;
});
}
LoginSteps.java 文件源码
项目:hippo
阅读 19
收藏 0
点赞 0
评论 0
@Then("^I can see the password error messages$")
public void iCanSeeThePasswordErrorMessages() throws Throwable {
assertThat("Password error is displayed", dashboardPage.getPasswordErrorMessages(),
hasItems(
equalTo("Password must be at least 12 characters long"),
equalTo("Password may not be the same as previous 5 passwords"),
equalTo("Password must not contain user name, first name or last name"),
containsString("Password should contain at least one capitalized letter"),
containsString("Password should contain at least one lower case letter"),
containsString("Password should contain at least one digit")
)
);
}
TopologyEventsBasicTest.java 文件源码
项目:open-kilda
阅读 18
收藏 0
点赞 0
评论 0
@Then("^now amount of switches is (\\d+)\\.$")
public void the_switch_appears_in_the_topology_engine(int switches) throws Exception {
List<SwitchInfoData> switchList = SwitchesUtils.dumpSwitches();
List<SwitchInfoData> activeSwitches = switchList.stream()
.filter(sw -> sw.getState() == SwitchState.ACTIVATED)
.collect(Collectors.toList());
assertThat("Switch should disappear from neo4j", activeSwitches.size(), is(switches));
}
SiteSteps.java 文件源码
项目:hippo
阅读 20
收藏 0
点赞 0
评论 0
@Then("^I should see headers:$")
public void iShouldSeeHeaders(DataTable headersTable) throws Throwable {
List<String> headers = headersTable.asList(String.class);
for (String header : headers) {
assertNotNull("Header should be displayed: " + header, sitePage.findElementWithText(header));
}
}
DataMapperSteps.java 文件源码
项目:syndesis-qe
阅读 24
收藏 0
点赞 0
评论 0
@Then("^she separates \"([^\"]*)\" into \"(\\w+)\" as \"(\\w+)\" and \"(\\w+)\" as \"(\\w+)\" using \"(\\w+)\" separator$")
public void separatePresentFielsIntoTwo(String input, String output1, String first_pos, String output2, String second_pos, String separator) {
SelenideElement inputElement;
SelenideElement selectElement;
//inputElement = mapper.getElementByAlias("FirstSource").shouldBe(visible);
//mapper.fillInput(inputElement, input);
selectElement = mapper.getElementByAlias("ActionSelect").shouldBe(visible);
mapper.selectOption(selectElement, "Separate");
selectElement = mapper.getElementByAlias("SeparatorSelect").shouldBe(visible);
mapper.selectOption(selectElement, separator);
// NOTE: THIS STEP SHOULD HAVE BEEN DONE AUTOMATICALLY BY SELECTING "Separate" action
mapper.clickButton("Add Target");
inputElement = mapper.getElementByAlias("FirstTarget").shouldBe(visible);
mapper.fillInputAndConfirm(inputElement, output1);
inputElement = mapper.getElementByAlias("FirstTargetPosition").shouldBe(visible);
mapper.fillInput(inputElement, first_pos);
inputElement = mapper.getElementByAlias("SecondTarget").shouldBe(visible);
mapper.fillInputAndConfirm(inputElement, output2);
inputElement = mapper.getElementByAlias("SecondTargetPosition").shouldBe(visible);
mapper.fillInput(inputElement, second_pos);
}
AWSCucumberStepdefs.java 文件源码
项目:ibm-cos-sdk-java
阅读 19
收藏 0
点赞 0
评论 0
@Then("^the response should contain a \"([^\"]*)\"$")
public void the_response_should_contain_a(String memberName) throws Throwable {
String[] path = memberName.split("[.]");
Object member = ReflectionUtils.getByPath(result, Arrays.asList(path));
assertNotNull(member);
}
DataMapperSteps.java 文件源码
项目:syndesis-qe
阅读 19
收藏 0
点赞 0
评论 0
/**
* @param first parameter to be combined.
* @param first_pos position of the first parameter in the final string
* @param second parameter to be combined.
* @param sec_pos position of the second parameter in the final string.
* @param combined above two into this parameter.
* @param separator used to estethically join first and second parameter.
*/
// And she combines "FirstName" as "2" with "LastName" as "1" to "first_and_last_name" using "Space" separator
@Then("^she combines \"(\\w+)\" as \"(\\w+)\" with \"(\\w+)\" as \"(\\w+)\" to \"(\\w+)\" using \"(\\w+)\" separator$")
public void combinePresentFielsWithAnother(String first, String first_pos,
String second, String sec_pos, String combined, String separator) {
SelenideElement inputElement;
SelenideElement selectElement;
// Then she fills "FirstCombine" selector-input with "FirstName" value
inputElement = mapper.getElementByAlias("FirstSource").shouldBe(visible);
mapper.fillInput(inputElement, first);
// And she selects "Combine" from "ActionSelect" selector-dropdown
selectElement = mapper.getElementByAlias("ActionSelect").shouldBe(visible);
mapper.selectOption(selectElement, "Combine");
// And she selects "Space" from "SeparatorSelect" selector-dropdown
selectElement = mapper.getElementByAlias("SeparatorSelect").shouldBe(visible);
mapper.selectOption(selectElement, separator);
// And clicks on the "Add Source" link
mapper.clickButton("Add Source");
// Then she fills "SecondCombine" selector-input with "LastName" value
inputElement = mapper.getElementByAlias("SecondSource").shouldBe(visible);
mapper.fillInputAndConfirm(inputElement, second);
// And she fills "FirstCombinePosition" selector-input with "2" value
inputElement = mapper.getElementByAlias("FirstSourcePosition").shouldBe(visible);
mapper.fillInput(inputElement, first_pos);
// And she fills "SecondCombinePosition" selector-input with "1" value
inputElement = mapper.getElementByAlias("SecondSourcePosition").shouldBe(visible);
mapper.fillInput(inputElement, sec_pos);
// Then she fills "TargetCombine" selector-input with "first_and_last_name" value
// inputElement = mapper.getElementByAlias("FirstTarget").shouldBe(visible);
// mapper.fillInputAndConfirm(inputElement, combined);
}
NorthboundRunTest.java 文件源码
项目:open-kilda
阅读 22
收藏 0
点赞 0
评论 0
@Then("^status of flow (.*) could be read$")
public void checkFlowStatus(final String flowId) throws Exception {
String flowName = FlowUtils.getFlowName(flowId);
FlowIdStatusPayload payload = getFlowState(flowName, expectedFlowStatus);
assertNotNull(payload);
assertEquals(flowName, payload.getId());
assertEquals(expectedFlowStatus, payload.getStatus());
}
NorthboundRunTest.java 文件源码
项目:open-kilda
阅读 26
收藏 0
点赞 0
评论 0
@Then("^flows dump contains (\\d+) flows$")
public void checkDumpFlows(final int flowCount) {
List<FlowPayload> flows = FlowUtils.getFlowDump();
assertNotNull(flows);
flows.forEach(flow -> System.out.println(flow.getId()));
assertEquals(flowCount, flows.size());
}
SfDbValidationSteps.java 文件源码
项目:syndesis-qe
阅读 20
收藏 0
点赞 0
评论 0
@Then("^validate SF on delete to DB created new task with lead ID as task name")
public void validateLead() {
final long start = System.currentTimeMillis();
// We wait for exactly 1 record to appear in DB.
final boolean contactCreated = TestUtils.waitForEvent(leadCount -> leadCount == 1, () -> dbUtils.getNumberOfRecordsInTable(RestConstants.getInstance().getTODO_APP_NAME()),
TimeUnit.MINUTES,
2,
TimeUnit.SECONDS,
5);
Assertions.assertThat(contactCreated).as("Lead record has appeard in db").isEqualTo(true);
log.info("Lead record appeared in DB. It took {}s to create contact.", TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis() - start));
// Now we verify, the created lead contains the correct personal information.
Assertions.assertThat(getLeadTaskFromDb(leadId).toLowerCase()).isNotEmpty();
}
CommonSteps.java 文件源码
项目:syndesis-qe
阅读 24
收藏 0
点赞 0
评论 0
@Then("^wait for Syndesis to become ready")
public void waitForSyndeisis() {
try {
OpenShiftWaitUtils.waitFor(OpenShiftWaitUtils.isAPodReady("component", "syndesis-rest"));
} catch (InterruptedException | TimeoutException e) {
log.error("Wait for syndesis-rest failed ", e);
}
}
UpsertionSteps.java 文件源码
项目:pugtsdb
阅读 21
收藏 0
点赞 0
评论 0
@Then("^no tags are saved$")
public void noTagsAreSaved() throws Throwable {
try (Connection connection = pugTSDB.getDataSource().getConnection();
Statement statement = connection.createStatement()) {
ResultSet resultSet = statement.executeQuery("SELECT * FROM tag");
assertFalse(resultSet.next());
}
}
SearchSteps.java 文件源码
项目:hippo
阅读 20
收藏 0
点赞 0
评论 0
@Then("^I should see publication in search results$")
public void iShouldSeePublicationInSearchResults() throws Throwable {
String expectedTitle = testDataRepo.getCurrentPublication().getTitle();
List<String> actualResults = searchPage.getSearchResultWidgets()
.stream()
.map(SearchResultWidget::getTitle)
.collect(toList());
assertThat("Publication is in the results", actualResults, hasItem(expectedTitle));
}
JPAStepsDef.java 文件源码
项目:careconnect-reference-implementation
阅读 22
收藏 0
点赞 0
评论 0
@Then("^the CodeSystem should save$")
public void the_CodeSystem_should_save() throws Throwable {
try {
conceptDao.storeNewCodeSystemVersion( cs,null);
// fail();
} catch (InvalidRequestException e) {
assertEquals("CodeSystem contains circular reference around code parent", e.getMessage());
}
}
CustomerSteps.java 文件源码
项目:noraui-academy
阅读 17
收藏 0
点赞 0
评论 0
/**
* Check Customer page.
*
* @throws FailureException
* if the scenario encounters a functional error.
*/
@Then("The JHIPSTERSAMPLEAPP customer page is displayed")
public void checkJHipsterSampleAppCustomerPage() throws FailureException {
if (!customerPage.checkPage()) {
new Result.Failure<>(customerPage.getApplication(), String.format(Messages.FAIL_MESSAGE_UNABLE_TO_OPEN_PAGE, customerPage.getPageKey()), true, customerPage.getCallBack());
}
}
ThreadDumpRunSteps.java 文件源码
项目:jwala
阅读 17
收藏 0
点赞 0
评论 0
@Then("^I see the thread dump page$")
public void verifyThreadDumpPage() {
jwalaUi.switchToOtherTab(origWindowHandle);
jwalaUi.waitUntilElementIsVisible(By.xpath("//pre[contains(text(), 'thread dump Java HotSpot(TM) 64-Bit Server VM')]"));
if (origWindowHandle != null) {
jwalaUi.getWebDriver().close();
jwalaUi.getWebDriver().switchTo().window(origWindowHandle);
}
}
PolicyEvaluationStepsDefinitions.java 文件源码
项目:keti
阅读 19
收藏 0
点赞 0
评论 0
@Then("^policy evaluation response includes subject attribute (.*) with the value (.*)$")
public void policyEvaluationReturns(final String attributeName, final String attributeValue) throws Throwable {
Assert.assertEquals(this.policyEvaluationResponse.getStatusCode(), HttpStatus.OK);
Set<Attribute> subjectAttributes = new HashSet<Attribute>(
this.policyEvaluationResponse.getBody().getSubjectAttributes());
Assert.assertTrue(
subjectAttributes.contains(new Attribute(DEFAULT_ATTRIBUTE_ISSUER, attributeName, attributeValue)),
String.format("Subject Attributes expected to include attribute = (%s, %s, %s)",
DEFAULT_ATTRIBUTE_ISSUER, attributeName, attributeValue));
}