Я пытаюсь реализовать Protractor-Cucumber-framework в моем проекте. Когда я выполняю код, методы выполняются, но код внутри метода не выполняется. Я имею в виду, когда я пытался щелкнуть или ввести данные в поле или приостановить выполнение браузера через browser.sleep, эти действия выполняются, а также мой скрипт не дает сбоя.
Мой файл stepDef
var login=require("../src/main/java/Utilities/LoginPage.js");
var test1=function(){
var local=this;
Given('Open the Browser', function () {
console.log("first executed")
browser.ignoreSynchronization=true;
login.get("https://abhibus.com");
});
Given('Load the URL', function () {
// Write code here that turns the phrase above into concrete actions
console.log("second executed");
browser.getTitle().then(function(title){
console.log(title+" title of the webpage");
});
browser.sleep(5000);
});
Then('Get the Title of the webpage', function () {
// Write code here that turns the phrase above into concrete actions
console.log("third executed");
browser.driver.findElement(By.id("LoginForm_username")).sendKeys("admin@admin@bkcms.com");
browser.driver.findElement(By.id("Loginform_password")).sendKeys("test");
// login.loginpage("admin@admin@bkcms.com","test");
browser.sleep(3000);
});
}
module.exports=new test1();
Мой файл функций
Feature: this to test new Application
Scenario: This a new Scenario
Given This is to load URL
And do some action on webpage
Then Print the title of the webpage
Мой файл конфигурации
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
getPageTimeout: 60000,
allScriptsTimeout: 500000,
framework: 'custom',
// path relative to the current config file
frameworkPath: require.resolve('protractor-cucumber-framework'),
capabilities: {
'browserName': 'chrome'
},
// Spec patterns are relative to this directory.
specs: [
'../Protractor.Cucumber.Test/src/main/java/featureFiles/Test.feature'
],
cucumberOpts: {
require: '../Protractor.Cucumber.Test/src/test/java/StepDefinitions/test1.js',
tags: false,
profile: false,
'no-source': true
},
onPrepare: function () {
const {Given, Then, When, Before} = require('cucumber');
global.Given = Given;
global.When = When;
global.Then = Then;
global.Before = Before;
}
};
Результат кода
I / launcher - Запуск 1 экземпляра WebDriver
[09:56:12] I / hosted - Использование сервера селена в
http://localhost:4444/wd/hub
первый исполненный
.секунд выполнен
. Треть выполнено
..
1 сценарий (1 пройден)
3 шага (3 пройдено)
0m00.008s
Код страницы входа в систему
var properties=PropertiesReader("../Protractor.Cucumber.Test/src/main/java/Utilities/Object.properties");
var login=function(){
var user=by.xpath("//input[@id='LoginForm_username']");
var pass=by.id("LoginForm_password");
var submit=by.id("login_submit");
var local=this;
this.Init=function(){
local.username();
local.password();
local.Submit();
}
this.get=function(){
browser.get(properties.get("url"));
browser.manage().window().maximize();
browser.driver.sleep(5000);
}
this.username=function(){
return element(user);
}
this.password=function(){
return element(pass);
}
this.Submit=function()
{
return element(submit);
}
this.loginpage=function(Username,Password){
console.log("entred in to login method")
var userfield=local.username();
userfield.sendKeys(Username);
var passfield=local.password();
passfield.sendKeys(Password);
var button=local.Submit();
button.click();
browser.driver.sleep(5000);
}
}
module.exports=new login();