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();