You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by mi...@apache.org on 2018/10/25 20:47:47 UTC
[trafficcontrol] 02/04: Automated UI Testing - added console
outputs, fixed repeater error
This is an automated email from the ASF dual-hosted git repository.
mitchell852 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git
commit aea3df4c01a66fbc11bd05d7cebd6b727255fe23
Author: cgillo000 <ch...@cable.comcast.com>
AuthorDate: Mon Oct 22 13:18:12 2018 -0600
Automated UI Testing - added console outputs, fixed repeater error
---
traffic_portal/test/end_to_end/CDNs/cdns-spec.js | 14 +++++------
.../DeliveryServices/delivery-services-spec.js | 29 +++++++++++++---------
traffic_portal/test/end_to_end/README.md | 5 ++++
.../test/end_to_end/Servers/servers-spec.js | 9 +++++--
traffic_portal/test/end_to_end/conf.js | 28 ++++++++++++++-------
traffic_portal/test/end_to_end/login/login-spec.js | 5 ++--
6 files changed, 58 insertions(+), 32 deletions(-)
diff --git a/traffic_portal/test/end_to_end/CDNs/cdns-spec.js b/traffic_portal/test/end_to_end/CDNs/cdns-spec.js
index cf58ed7..f300603 100644
--- a/traffic_portal/test/end_to_end/CDNs/cdns-spec.js
+++ b/traffic_portal/test/end_to_end/CDNs/cdns-spec.js
@@ -27,19 +27,19 @@ describe('Traffic Portal CDNs Test Suite', function() {
var mydnssec = 'true';
it('should go to the CDNs page', function() {
- console.log("should go to the CDNs page");
+ console.log("Go to the CDNs page");
browser.get(browser.baseUrl + "/#!/cdns");
expect(browser.getCurrentUrl()).toEqual(browser.baseUrl+"/#!/cdns");
});
it('should open new CDN form page', function() {
- console.log("should open new CDN form page");
- browser.driver.findElement(by.name('createCdnButton')).click();
- expect(browser.getCurrentUrl()).toEqual(browser.baseUrl+"/#!/cdns/new");
+ console.log("Open new CDN form page");
+ browser.driver.findElement(by.name('createCdnButton')).click();
+ expect(browser.getCurrentUrl()).toEqual(browser.baseUrl+"/#!/cdns/new");
});
it('should fill out form, create button is enabled and submit', function () {
- console.log("should fill out form, create button is enabled and submit");
+ console.log("Filling out form, check create button is enabled and submit");
expect(pageData.createButton.isEnabled()).toBe(false);
pageData.name.sendKeys(myNewCDN);
pageData.domainName.sendKeys(myDomainName);
@@ -51,7 +51,7 @@ describe('Traffic Portal CDNs Test Suite', function() {
});
it('should verify the new CDN and then update CDN', function() {
- console.log("should verify the new CDN and then update CDN");
+ console.log("verifying the new CDN and then updating CDN");
browser.sleep(1000);
element.all(by.repeater('cdn in ::cdns')).filter(function(row){
return row.element(by.name('name')).getText().then(function(val){
@@ -69,7 +69,7 @@ describe('Traffic Portal CDNs Test Suite', function() {
});
it('should delete the new CDN', function() {
- console.log("should delete the new CDN");
+ console.log("Deleting " + myNewCDN);
pageData.deleteButton.click();
pageData.confirmWithNameInput.sendKeys(myNewCDN);
pageData.deletePermanentlyButton.click();
diff --git a/traffic_portal/test/end_to_end/DeliveryServices/delivery-services-spec.js b/traffic_portal/test/end_to_end/DeliveryServices/delivery-services-spec.js
index fee9865..8f13ea6 100644
--- a/traffic_portal/test/end_to_end/DeliveryServices/delivery-services-spec.js
+++ b/traffic_portal/test/end_to_end/DeliveryServices/delivery-services-spec.js
@@ -26,7 +26,7 @@ describe('Traffic Portal Delivery Services Suite', function() {
dsType: ["ANY MAP", "DNS", "HTTP", "STEERING"],
active: "true",
type: "DNS",
- xmlId: 4343432432424,
+ xmlId: "thisIsOnlyATest",
displayName: "dsTest",
tenantId: "- root",
cdn: "CDN-in-a-Box",
@@ -36,11 +36,13 @@ describe('Traffic Portal Delivery Services Suite', function() {
};
it('should open ds page and click button to create a new one', function() {
+ console.log('Opening delivery services page');
browser.get(browser.baseUrl + "/#!/delivery-services");
expect(browser.getCurrentUrl()).toEqual(browser.baseUrl+"/#!/delivery-services");
});
it('should create and select type of ds from the dropdown and confirm', function() {
+ console.log('Clicked Create New and selecting a type');
browser.driver.findElement(by.name('createDeliveryServiceButton')).click();
browser.sleep(1000);
expect(pageData.selectFormSubmitButton.isEnabled()).toBe(false);
@@ -51,6 +53,7 @@ describe('Traffic Portal Delivery Services Suite', function() {
});
it('should populate and submit the ds form', function() {
+ console.log('Filling out form for ' + mockVals.xmlId);
browser.sleep(250);
expect(browser.getCurrentUrl()).toEqual(browser.baseUrl+"/#!/delivery-services/new?type=" + mockVals.dsType[1]);
expect(pageData.createButton.isEnabled()).toBe(false);
@@ -74,20 +77,21 @@ describe('Traffic Portal Delivery Services Suite', function() {
});
it('should back out to ds page and verify new ds and update it', function() {
+ console.log('Backing out and verifying ' + mockVals.xmlId + ' exists');
browser.get(browser.baseUrl + "/#!/delivery-services");
expect(browser.getCurrentUrl()).toEqual(browser.baseUrl+"/#!/delivery-services");
+
+ });
+
+ it('should update the ds', function() {
+ console.log('Updating the form for ' + mockVals.xmlId);
browser.sleep(250);
- element(by.repeater('ds in ::deliveryServices').row(0)).click();
- // Need to get the below code to function. Currently throwing an index out of bounds error
- // And then remove the single line click above
- //
- // element.all(by.repeater('ds in ::deliveryServices')).filter(function(row){
- // return row.element(by.name('xmlId')).getText().then(function(val){
- // console.log(val + " this is my val " + row);
- // return val === mockVals.xmlId;
- // });
- // })
- // .get(0).click();
+ element.all(by.repeater('ds in ::deliveryServices')).filter(function(row){
+ return row.element(by.name('xmlId')).getText().then(function(val){
+ console.log(val + " this is my val " + mockVals.xmlId);
+ return val.toString() === mockVals.xmlId.toString();
+ });
+ }).get(0).click();
browser.sleep(250);
expect(pageData.updateButton.isEnabled()).toBe(false);
pageData.displayName.sendKeys(mockVals.displayName + "updated");
@@ -98,6 +102,7 @@ describe('Traffic Portal Delivery Services Suite', function() {
});
it('should delete the ds', function() {
+ console.log('Deleting ' + mockVals.xmlId);
pageData.deleteButton.click();
pageData.confirmWithNameInput.sendKeys(mockVals.xmlId);
pageData.deletePermanentlyButton.click();
diff --git a/traffic_portal/test/end_to_end/README.md b/traffic_portal/test/end_to_end/README.md
index b673a56..a0ca376 100644
--- a/traffic_portal/test/end_to_end/README.md
+++ b/traffic_portal/test/end_to_end/README.md
@@ -32,3 +32,8 @@
- Run your tests
protractor conf.js --params.adminUser 'user' --params.adminPassword 'password'
+- NOTE: Errors with webdriver
+ Most errors with webdriver can be remedied by running the following:
+ webdriver-manager clean
+ webdriver-manager update
+
diff --git a/traffic_portal/test/end_to_end/Servers/servers-spec.js b/traffic_portal/test/end_to_end/Servers/servers-spec.js
index 045cd48..a469502 100644
--- a/traffic_portal/test/end_to_end/Servers/servers-spec.js
+++ b/traffic_portal/test/end_to_end/Servers/servers-spec.js
@@ -39,16 +39,19 @@ describe('Traffic Portal Servers Test Suite', function() {
};
it('should go to the Servers page', function() {
+ console.log('Looading Configure/Servers');
browser.get(browser.baseUrl + "/#!/servers");
expect(browser.getCurrentUrl()).toEqual(browser.baseUrl+"/#!/servers");
});
it('should open new Servers form page', function() {
- browser.driver.findElement(by.name('createServersButton')).click();
- expect(browser.getCurrentUrl()).toEqual(browser.baseUrl+"/#!/servers/new");
+ console.log('Clicking on Create new server ' + mockVals.hostName);
+ browser.driver.findElement(by.name('createServersButton')).click();
+ expect(browser.getCurrentUrl()).toEqual(browser.baseUrl+"/#!/servers/new");
});
it('should fill out form, create button is enabled and submit', function () {
+ console.log('Filling out Server form');
expect(pageData.createButton.isEnabled()).toBe(false);
pageData.status.click();
pageData.status.sendKeys(mockVals.status);
@@ -75,6 +78,7 @@ describe('Traffic Portal Servers Test Suite', function() {
});
it('should verify the new Server and then update Server', function() {
+ console.log('Verifying new server added and updating ' + mockVals.hostName);
browser.sleep(1000);
element.all(by.repeater('s in ::servers')).filter(function(row){
return row.element(by.name('hostName')).getText().then(function(val){
@@ -92,6 +96,7 @@ describe('Traffic Portal Servers Test Suite', function() {
});
it('should delete the new Server', function() {
+ console.log('Deleting the server ' + mockVals.hostName);
pageData.deleteButton.click();
pageData.confirmWithNameInput.sendKeys(mockVals.hostName);
pageData.deletePermanentlyButton.click();
diff --git a/traffic_portal/test/end_to_end/conf.js b/traffic_portal/test/end_to_end/conf.js
index 2dd733b..a834eca 100644
--- a/traffic_portal/test/end_to_end/conf.js
+++ b/traffic_portal/test/end_to_end/conf.js
@@ -22,12 +22,12 @@ exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
baseUrl: 'https://localhost:4443',
getPageTimeout: 30000,
- specs: [
- 'login/login-spec.js',
- 'CDNs/cdns-spec.js',
- 'DeliveryServices/delivery-services-spec.js',
- 'Servers/servers-spec.js',
- ],
+ // specs: [
+ // 'login/login-spec.js',
+ // 'CDNs/cdns-spec.js',
+ // 'DeliveryServices/delivery-services-spec.js',
+ // 'Servers/servers-spec.js',
+ // ],
capabilities: {
'browserName': 'chrome'
},
@@ -39,8 +39,18 @@ exports.config = {
suites: {
loginTests: 'login/login-spec.js',
- cdnTests: ['login/login-spec.js','CDNs/cdns=spec.js'],
- deliveryServiceTests: ['login/login-spec.js', 'DeliveryServices/delivery-services-spec.js'],
- serverTests: ['login/login-spec.js', 'Servers/servers-spec.js'],
+ allTests: [
+ 'login/login-spec.js',
+ 'CDNs/cdns-spec.js',
+ 'DeliveryServices/delivery-services-spec.js',
+ 'Servers/servers-spec.js'],
+ cdnTests: ['login/login-spec.js',
+ 'CDNs/cdns-spec.js'],
+ deliveryServiceTests: [
+ 'login/login-spec.js',
+ 'DeliveryServices/delivery-services-spec.js'],
+ serverTests: [
+ 'login/login-spec.js',
+ 'Servers/servers-spec.js'],
}
};
diff --git a/traffic_portal/test/end_to_end/login/login-spec.js b/traffic_portal/test/end_to_end/login/login-spec.js
index a918aca..de91b10 100644
--- a/traffic_portal/test/end_to_end/login/login-spec.js
+++ b/traffic_portal/test/end_to_end/login/login-spec.js
@@ -21,13 +21,13 @@ describe('Traffic Portal Login Test Suite', function() {
beforeEach(function() {
browser.get(browser.baseUrl);
- browser.driver.manage().window().maximize();
- browser.wait(function() {
+ browser.wait(function() {
return element(by.name('loginUsername')).isPresent();
}, 5000);
});
it('should fail login to Traffic Portal with bad user', function() {
+ console.log('Negative login test');
browser.driver.findElement(by.name('loginUsername')).sendKeys('badUser');
browser.driver.findElement(by.name('loginPass')).sendKeys('badPassword');
browser.driver.findElement(by.name('loginSubmit')).click();
@@ -37,6 +37,7 @@ describe('Traffic Portal Login Test Suite', function() {
});
it('should successfully login to Traffic Portal', function() {
+ console.log('Logging in to Traffic Portal');
browser.driver.findElement(by.name('loginUsername')).sendKeys(browser.params.adminUser);
browser.driver.findElement(by.name('loginPass')).sendKeys(browser.params.adminPassword);
browser.driver.findElement(by.name('loginSubmit')).click();