각도기를 사용하고 있는데 이상한 문제가 있습니다. 로그인하고 몇 가지 테스트 및 로그 아웃을 실행합니다. 모든 것이 여기에서 잘 작동합니다. 다른 사용자 ID를 사용하여 동일한 테스트를 실행하려면 다시 로그인해야합니다. 사용자 ID와 암호가 각 필드에 입력되고 로그인이 성공적으로 완료되었지만 나머지 테스트를 실행하지 않고 프로세스가 종료되고 오류 메시지가 나타나는 경우에도 두 번째입니다.요소를 찾지 못하고 요소를 찾은 후 요소를 찾은 후 요소를 찾은 다음 요소를 찾지 못했습니다.
ar testData = require('./Test Data/Users.json');
describe('SSUE Login', function() {
it('Verifies user access', function() {
browser.driver.get('https://url');
browser.ignoreSynchronization = true;
element(by.id('userInput')).sendKeys(testData[1].username);
element(by.id('passwordInput')).sendKeys(testData[1].passwordField);
element(by.id('login-button')).click();
browser.driver.sleep(9000);
browser.waitForAngular();
element(by.css('.AtlanticIcon_header_logout')).getText().then(function(text){
console.log('Login Successful '+text+' icon visible in UI');
});
if(element(by.xpath('//div[@class="walkme-custom-balloon-content-wrapper"]')).isPresent().then(function(){
element(by.xpath('//div[@class="walkme-custom-balloon-content-wrapper"]/div[1]')).click();
}));
browser.driver.sleep(2000);
}
}, 90000);
});
아래는 I 로그인 공지 사항 및 (6) 테스트를 실행 내 설정 파일입니다 : 다음은 내 코드와 오류가 난
코드를 얻을 수있다. 마지막 6 번의 테스트에서 'gridFilter.js' 로그 아웃 작업이 있습니다. 다음으로 'login2.js'을 통해 다른 사용자 ID를 사용하여 다시 로그인하십시오. 사용자가 성공적으로 loged되지만 로그인 후 다음 테스트가 실행되지 않고 브라우저가 반복적으로 자신의 마지막 과정 종료에로드하고 JSON으로 결과 출력을 얻을 또한
exports.config = {
seleniumAddress : 'http://localhost:4444/wd/hub',
specs : ['login.js', 'userType.js', 'globalFilterOptions.js', 'languageTest.js', 'loadDatagrid.js', 'datagridicons.js', 'gridFilter.js', 'login2.js', 'userType.js', 'globalFilterOptions.js', 'languageTest.js', 'loadDatagrid.js', 'datagridicons.js', 'gridFilter.js', 'login3.js', 'userType.js', 'globalFilterOptions.js', 'languageTest.js', 'loadDatagrid.js', 'datagridicons.js', 'gridFilter.js', 'login4.js', 'userType.js', 'globalFilterOptions.js', 'languageTest.js', 'loadDatagrid.js', 'datagridicons.js', 'gridFilter.js', 'login5.js', 'userType.js', 'globalFilterOptions.js', 'languageTest.js', 'loadDatagrid.js', 'datagridicons.js', 'gridFilter.js', 'login6.js', 'userType.js', 'globalFilterOptions.js', 'languageTest.js', 'loadDatagrid.js', 'datagridicons.js', 'gridFilter.js'],
// Exclude files if needed
exclude: [],
baseUrl: 'http://localhost:8000',
rootElement: 'html',
framework : 'jasmine2',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000
,print: function() {}
},
onPrepare: function() {
var SpecReporter = require('jasmine-spec-reporter');
// add jasmine spec reporter
jasmine.getEnv().addReporter(new SpecReporter({displayStacktrace: true}));
},
onPrepare: function() {
var JSONReporter = require('jasmine-json-test-reporter');
jasmine.getEnv().addReporter(new JSONReporter({
file: 'SSUE-Daily-Satus-Report.json',
beautify: true,
indentationLevel: 4 // used if beautify === true
}));
},
// An array of capability objects
multiCapabilities : [
{
browserName : 'chrome'
// Add another set of specs for this browser only
// specs: []
}
]
};
여기에 결국 결과를 추가하고 내가 JSON
"suite1": {
"id": "suite1",
"description": "SSUE Login",
"fullName": "SSUE Login",
"failedExpectations": [],
"status": "finished",
"specs": [
{
"id": "spec0",
"description": "Verifies user access",
"fullName": "SSUE Login Verifies user access",
"failedExpectations": [],
"passedExpectations": [],
"pendingReason": "",
"status": "passed"
}
]
},
"suite2": {
"id": "suite2",
"description": "User Details:",
"fullName": "User Details:",
"failedExpectations": [],
"status": "finished",
"specs": [
{
"id": "spec1",
"description": "User type and id",
"fullName": "User Details: User type and id",
"failedExpectations": [],
"passedExpectations": [],
"pendingReason": "",
"status": "passed"
}
]
},
"suite3": {
"id": "suite3",
"description": "Global Filter:",
"fullName": "Global Filter:",
"failedExpectations": [],
"status": "finished",
"specs": [
{
"id": "spec2",
"description": "Displays User entitled customers and inventories",
"fullName": "Global Filter: Displays User entitled customers and inventories",
"failedExpectations": [],
"passedExpectations": [],
"pendingReason": "",
"status": "passed"
}
]
},
"suite4": {
"id": "suite4",
"description": "Langauge Selection : ",
"fullName": "Langauge Selection : ",
"failedExpectations": [],
"status": "finished",
"specs": [
{
"id": "spec3",
"description": "Test check the language options",
"fullName": "Langauge Selection : Test check the language options",
"failedExpectations": [],
"passedExpectations": [],
"pendingReason": "",
"status": "passed"
}
]
},
"suite5": {
"id": "suite5",
"description": "Datagrid Load Test :",
"fullName": "Datagrid Load Test :",
"failedExpectations": [],
"status": "finished",
"specs": [
{
"id": "spec4",
"description": "Datagrid Clickable in LNP",
"fullName": "Datagrid Load Test : Datagrid Clickable in LNP",
"failedExpectations": [],
"passedExpectations": [],
"pendingReason": "",
"status": "passed"
}
]
},
"suite6": {
"id": "suite6",
"description": "Datagrid Icons :",
"fullName": "Datagrid Icons :",
"failedExpectations": [],
"status": "finished",
"specs": [
{
"id": "spec5",
"description": "Displayed after the grid loads",
"fullName": "Datagrid Icons : Displayed after the grid loads",
"failedExpectations": [],
"passedExpectations": [],
"pendingReason": "",
"status": "passed"
}
]
},
"suite7": {
"id": "suite7",
"description": "Group Filter Test ",
"fullName": "Group Filter Test ",
"failedExpectations": [],
"status": "finished",
"specs": [
{
"id": "spec6",
"description": "Testing filtering groups",
"fullName": "Group Filter Test Testing filtering groups",
"failedExpectations": [],
"passedExpectations": [],
"pendingReason": "",
"status": "passed"
}
]
},
"suite8": {
"id": "suite8",
"description": "SSUE Login",
"fullName": "SSUE Login",
"failedExpectations": [],
"status": "finished",
"specs": [
{
"id": "spec7",
"description": "Verifies user access",
"fullName": "SSUE Login Verifies user access",
"failedExpectations": [],
"passedExpectations": [],
"pendingReason": "",
"status": "passed"
}
]
},
"suite9": {
"id": "suite9",
"description": "SSUE Login",
"fullName": "SSUE Login",
"failedExpectations": [],
"status": "finished",
"specs": [
{
"id": "spec8",
"description": "Verifies user access",
"fullName": "SSUE Login Verifies user access",
"failedExpectations": [
{
"matcherName": "",
"message": "Failed: No element found using locator: By(css selector, *[id=\"userInput\"])",
"stack": "NoSuchElementError: No element found using locator: By(css selector, *[id=\"userInput\"])\n at WebDriverError (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\error.js:27:10)\n at NoSuchElementError (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\error.js:242:10)\n at C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\built\\element.js:808:27\n at ManagedPromise.invokeCallback_ (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\promise.js:1379:14)\n at TaskQueue.execute_ (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\promise.js:2913:14)\n at TaskQueue.executeNext_ (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\promise.js:2896:21)\n at C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\promise.js:2775:27\n at C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\promise.js:639:7\n at process._tickCallback (node.js:369:9)Error\n at ElementArrayFinder.applyAction_ (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\built\\element.js:461:27)\n at ElementArrayFinder._this.(anonymous function) [as sendKeys] (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\built\\element.js:103:30)\n at ElementFinder.(anonymous function) [as sendKeys] (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\built\\element.js:829:22)\n at Object.<anonymous> (C:\\Protector\\SSUE_Daily_Status\\login3.js:11:35)\n at C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasminewd2\\index.js:94:23\n at new ManagedPromise (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\promise.js:1082:7)\n at controlFlowExecute (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasminewd2\\index.js:80:18)\n at TaskQueue.execute_ (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\promise.js:2913:14)\n at TaskQueue.executeNext_ (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\promise.js:2896:21)\n at C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\promise.js:2820:25\nFrom: Task: Run it(\"Verifies user access\") in control flow\n at Object.<anonymous> (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasminewd2\\index.js:79:14)\n at attemptAsync (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:1916:24)\n at QueueRunner.run (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:1871:9)\n at QueueRunner.execute (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:1859:10)\n at Spec.Env.queueRunnerFactory (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:697:35)\n at Spec.execute (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:359:10)\n at Object.fn (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:2479:37)\n at attemptAsync (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:1916:24)\n at QueueRunner.run (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:1871:9)\n at QueueRunner.execute (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:1859:10)\nFrom asynchronous test: \nError\n at Suite.<anonymous> (C:\\Protector\\SSUE_Daily_Status\\login3.js:6:3)\n at addSpecsToSuite (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:833:25)\n at Env.describe (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:802:7)\n at jasmineInterface.describe (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:3375:18)\n at Object.<anonymous> (C:\\Protector\\SSUE_Daily_Status\\login3.js:4:1)\n at Module._compile (module.js:409:26)\n at Object.Module._extensions..js (module.js:416:10)\n at Module.load (module.js:343:32)\n at Function.Module._load (module.js:300:12)",
"passed": false,
"expected": "",
"actual": ""
}
],
"passedExpectations": [],
"pendingReason": "",
"status": "failed"
}
]
},
"suite10": {
"id": "suite10",
"description": "SSUE Login",
"fullName": "SSUE Login",
"failedExpectations": [],
"status": "finished",
"specs": [
{
"id": "spec9",
"description": "Verifies user access",
"fullName": "SSUE Login Verifies user access",
"failedExpectations": [
{
"matcherName": "",
"message": "Failed: No element found using locator: By(css selector, *[id=\"userInput\"])",
"stack": "NoSuchElementError: No element found using locator: By(css selector, *[id=\"userInput\"])\n at WebDriverError (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\error.js:27:10)\n at NoSuchElementError (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\error.js:242:10)\n at C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\built\\element.js:808:27\n at ManagedPromise.invokeCallback_ (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\promise.js:1379:14)\n at TaskQueue.execute_ (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\promise.js:2913:14)\n at TaskQueue.executeNext_ (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\promise.js:2896:21)\n at C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\promise.js:2775:27\n at C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\promise.js:639:7\n at process._tickCallback (node.js:369:9)Error\n at ElementArrayFinder.applyAction_ (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\built\\element.js:461:27)\n at ElementArrayFinder._this.(anonymous function) [as sendKeys] (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\built\\element.js:103:30)\n at ElementFinder.(anonymous function) [as sendKeys] (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\built\\element.js:829:22)\n at Object.<anonymous> (C:\\Protector\\SSUE_Daily_Status\\login4.js:13:35)\n at C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasminewd2\\index.js:94:23\n at new ManagedPromise (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\promise.js:1082:7)\n at controlFlowExecute (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasminewd2\\index.js:80:18)\n at TaskQueue.execute_ (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\promise.js:2913:14)\n at TaskQueue.executeNext_ (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\promise.js:2896:21)\n at C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\selenium-webdriver\\lib\\promise.js:2820:25\nFrom: Task: Run it(\"Verifies user access\") in control flow\n at Object.<anonymous> (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasminewd2\\index.js:79:14)\n at attemptAsync (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:1916:24)\n at QueueRunner.run (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:1871:9)\n at QueueRunner.execute (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:1859:10)\n at Spec.Env.queueRunnerFactory (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:697:35)\n at Spec.execute (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:359:10)\n at Object.fn (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:2479:37)\n at attemptAsync (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:1916:24)\n at QueueRunner.run (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:1871:9)\n at QueueRunner.execute (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:1859:10)\nFrom asynchronous test: \nError\n at Suite.<anonymous> (C:\\Protector\\SSUE_Daily_Status\\login4.js:6:3)\n at addSpecsToSuite (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:833:25)\n at Env.describe (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:802:7)\n at jasmineInterface.describe (C:\\Users\\surbhat\\AppData\\Roaming\\npm\\node_modules\\protractor\\node_modules\\jasmine\\node_modules\\jasmine-core\\lib\\jasmine-core\\jasmine.js:3375:18)\n at Object.<anonymous> (C:\\Protector\\SSUE_Daily_Status\\login4.js:4:1)\n at Module._compile (module.js:409:26)\n at Object.Module._extensions..js (module.js:416:10)\n at Module.load (module.js:343:32)\n at Function.Module._load (module.js:300:12)",
"passed": false,
"expected": "",
"actual": ""
}
],
"passedExpectations": [],
"pendingReason": "",
"status": "failed"
}
]
},
사용자 1과 2 모두에 로그인하는 코드를 제공 할 수 있습니까? – nilesh
각도기의 버전은 무엇입니까? 또한 ignoreSynchronization을 사용하는 경우 자체 타임 아웃을 제공하고 기다리거나 then 문에 중첩해야합니다. – cnishina
내 두 로그인 모두 동일한 코드 –