Merge pull request #1454 from menakaj/master

Changes and Improvements as per the code review.
merge-requests/1/head
Charitha Goonetilleke 7 years ago committed by GitHub
commit e10841587d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -23,7 +23,6 @@ import org.wso2.carbon.automation.engine.annotations.ExecutionEnvironment;
import org.wso2.carbon.automation.engine.context.AutomationContext;
import org.wso2.carbon.automation.engine.context.ContextXpathConstants;
import org.wso2.carbon.automation.engine.context.TestUserMode;
import org.wso2.carbon.automation.engine.exceptions.AutomationFrameworkException;
import org.wso2.carbon.automation.engine.extensions.ExecutionListenerExtension;
import org.wso2.carbon.automation.extensions.ExtensionConstants;
import org.wso2.carbon.automation.extensions.servers.carbonserver.CarbonServerExtension;
@ -40,48 +39,43 @@ public class AnalyticsServerExtension extends ExecutionListenerExtension {
private static final Log log = LogFactory.getLog(CarbonServerExtension.class);
private String executionEnvironment;
private AutomationContext automationContext;
private final String ANALYTICS_PORT_OFFSET = "2";
@Override
public void initiate() throws AutomationFrameworkException {
public void initiate() {
try {
automationContext = new AutomationContext("IOT", TestUserMode.SUPER_TENANT_USER);
if(getParameters().get(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND) == null) {
getParameters().put(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND, "2");
if (getParameters().get(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND) == null) {
getParameters().put(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND, ANALYTICS_PORT_OFFSET);
}
serverManager = new CustomTestServerManager(getAutomationContext(), null, getParameters());
executionEnvironment =
automationContext.getConfigurationValue(ContextXpathConstants.EXECUTION_ENVIRONMENT);
} catch (XPathExpressionException e) {
handleException("Error while initiating test environment", e);
throw new RuntimeException("Error while initiating test environment", e);
}
}
@Override
public void onExecutionStart() throws AutomationFrameworkException {
public void onExecutionStart() {
try {
if (executionEnvironment.equalsIgnoreCase(ExecutionEnvironment.STANDALONE.name())) {
String carbonHome = serverManager.startServer("analytics");
}
} catch (Exception e) {
handleException("Fail to start carbon server ", e);
throw new RuntimeException("Fail to start carbon server ", e);
}
}
@Override
public void onExecutionFinish() throws AutomationFrameworkException {
public void onExecutionFinish() {
try {
if (executionEnvironment.equalsIgnoreCase(ExecutionEnvironment.STANDALONE.name())) {
serverManager.stopServer();
}
} catch (Exception e) {
handleException("Fail to stop carbon server ", e);
throw new RuntimeException("Fail to stop carbon server ", e);
}
}
private static void handleException(String msg, Exception e) {
log.error(msg, e);
throw new RuntimeException(msg, e);
}
}

@ -23,7 +23,6 @@ import org.wso2.carbon.automation.engine.annotations.ExecutionEnvironment;
import org.wso2.carbon.automation.engine.context.AutomationContext;
import org.wso2.carbon.automation.engine.context.ContextXpathConstants;
import org.wso2.carbon.automation.engine.context.TestUserMode;
import org.wso2.carbon.automation.engine.exceptions.AutomationFrameworkException;
import org.wso2.carbon.automation.engine.extensions.ExecutionListenerExtension;
import org.wso2.carbon.automation.extensions.ExtensionConstants;
import org.wso2.carbon.automation.extensions.servers.carbonserver.CarbonServerExtension;
@ -40,26 +39,26 @@ public class BrokerServerExtension extends ExecutionListenerExtension {
private static final Log log = LogFactory.getLog(CarbonServerExtension.class);
private String executionEnvironment;
private AutomationContext automationContext;
private final String BROKER_PORT_OFFSET = "3";
@Override
public void initiate() throws AutomationFrameworkException {
public void initiate() {
try {
automationContext = new AutomationContext("IOT", TestUserMode.SUPER_TENANT_USER);
if(getParameters().get(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND) == null) {
getParameters().put(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND, "3");
if (getParameters().get(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND) == null) {
getParameters().put(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND, BROKER_PORT_OFFSET);
}
serverManager = new CustomTestServerManager(getAutomationContext(), null, getParameters());
executionEnvironment =
automationContext.getConfigurationValue(ContextXpathConstants.EXECUTION_ENVIRONMENT);
} catch (XPathExpressionException e) {
handleException("Error while initiating test environment", e);
throw new RuntimeException("Error while initiating test environment", e);
}
}
@Override
public void onExecutionStart() throws AutomationFrameworkException {
public void onExecutionStart() {
try {
if (executionEnvironment.equalsIgnoreCase(ExecutionEnvironment.STANDALONE.name())) {
String carbonHome = serverManager.startServer("broker");
@ -67,23 +66,18 @@ public class BrokerServerExtension extends ExecutionListenerExtension {
System.setProperty(ExtensionConstants.CARBON_HOME, carbonHome);
}
} catch (Exception e) {
handleException("Fail to start carbon server ", e);
throw new RuntimeException("Fail to start carbon server ", e);
}
}
@Override
public void onExecutionFinish() throws AutomationFrameworkException {
public void onExecutionFinish() {
try {
if (executionEnvironment.equalsIgnoreCase(ExecutionEnvironment.STANDALONE.name())) {
serverManager.stopServer();
}
} catch (Exception e) {
handleException("Fail to stop carbon server ", e);
throw new RuntimeException("Fail to stop carbon server ", e);
}
}
private static void handleException(String msg, Exception e) {
log.error(msg, e);
throw new RuntimeException(msg, e);
}
}

@ -80,7 +80,6 @@ public class CustomTestServerManager {
}
public Map<String, String> getCommands() {
return commandMap;
}
@ -181,6 +180,4 @@ public class CustomTestServerManager {
public void stopServer() throws AutomationFrameworkException {
carbonServer.serverShutdown(portOffset);
}
}

@ -23,7 +23,6 @@ import org.wso2.carbon.automation.engine.annotations.ExecutionEnvironment;
import org.wso2.carbon.automation.engine.context.AutomationContext;
import org.wso2.carbon.automation.engine.context.ContextXpathConstants;
import org.wso2.carbon.automation.engine.context.TestUserMode;
import org.wso2.carbon.automation.engine.exceptions.AutomationFrameworkException;
import org.wso2.carbon.automation.engine.extensions.ExecutionListenerExtension;
import org.wso2.carbon.automation.extensions.ExtensionConstants;
import org.wso2.carbon.automation.extensions.servers.carbonserver.CarbonServerExtension;
@ -40,26 +39,26 @@ public class IOTServerExtension extends ExecutionListenerExtension {
private static final Log log = LogFactory.getLog(CarbonServerExtension.class);
private String executionEnvironment;
private AutomationContext automationContext;
private final String IOT_CORE_PORT_OFFSET = "0";
@Override
public void initiate() throws AutomationFrameworkException {
public void initiate() {
try {
automationContext = new AutomationContext("IOT", TestUserMode.SUPER_TENANT_USER);
if(getParameters().get(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND) == null) {
getParameters().put(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND, "0");
if (getParameters().get(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND) == null) {
getParameters().put(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND, IOT_CORE_PORT_OFFSET);
}
serverManager = new CustomTestServerManager(getAutomationContext(), null, getParameters());
executionEnvironment =
automationContext.getConfigurationValue(ContextXpathConstants.EXECUTION_ENVIRONMENT);
} catch (XPathExpressionException e) {
handleException("Error while initiating test environment", e);
throw new RuntimeException("Error while initiating test environment", e);
}
}
@Override
public void onExecutionStart() throws AutomationFrameworkException {
public void onExecutionStart() {
try {
if (executionEnvironment.equalsIgnoreCase(ExecutionEnvironment.STANDALONE.name())) {
String carbonHome = serverManager.startServer("core");
@ -70,23 +69,18 @@ public class IOTServerExtension extends ExecutionListenerExtension {
Thread.sleep(30000);
}
} catch (Exception e) {
handleException("Fail to start carbon server ", e);
throw new RuntimeException("Fail to start carbon server ", e);
}
}
@Override
public void onExecutionFinish() throws AutomationFrameworkException {
public void onExecutionFinish() {
try {
if (executionEnvironment.equalsIgnoreCase(ExecutionEnvironment.STANDALONE.name())) {
serverManager.stopServer();
}
} catch (Exception e) {
handleException("Fail to stop carbon server ", e);
throw new RuntimeException("Fail to stop carbon server ", e);
}
}
private static void handleException(String msg, Exception e) {
log.error(msg, e);
throw new RuntimeException(msg, e);
}
}

@ -80,11 +80,11 @@ public class DevicesPage {
*/
public ConnectedCupDeviceViewPage viewDevice(String deviceName) throws IOException {
WebElement deviceTable = driver.findElement(By.xpath(uiElementMapper.getElement("iot.devices.table.xpath")));
List<WebElement> data = deviceTable.findElements(By.cssSelector("a"));
for (WebElement e : data) {
String s = getLink(e, "/device/connectedcup?id=");
if (s != null) {
driver.get(s);
List<WebElement> anchors = deviceTable.findElements(By.cssSelector("a"));
for (WebElement element : anchors) {
String connectedCupLink = getLink(element, "/device/connectedcup?id=");
if (connectedCupLink != null) {
driver.get(connectedCupLink);
return new ConnectedCupDeviceViewPage(driver, deviceName);
}
}
@ -100,12 +100,11 @@ public class DevicesPage {
private String getLink(WebElement element, String... lookupText) {
String link = element.getAttribute("href");
boolean check = true;
for (String s : lookupText) {
if (!link.contains(s)) {
for (String text : lookupText) {
if (!link.contains(text)) {
check = false;
}
}
return check ? link : null;
}
}

@ -81,9 +81,8 @@ public class EnrollDevicePage {
tryBtn.click();
return new ConnectedCupDeviceTypeViewPage(driver);
} else {
log.error("Element not found...........................");
log.error("Element not found!");
return null;
}
}
}

@ -1,3 +1,20 @@
/*
* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
*
* WSO2 Inc. licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except
* in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.wso2.iot.integration.ui.pages.error;
import org.openqa.selenium.WebDriver;
@ -24,7 +41,6 @@ public class IOTErrorPage {
throw new IllegalStateException("This is not the Error page");
}
}
public boolean isErrorPresent() {
return this.isErrorPage;
}

@ -60,5 +60,4 @@ public class Graph {
return String.format("The graph for graph id : %s, X - axis : %s, Y - axis : %s, legend : %s ", graphId,
xAxis, yAxis, legend);
}
}

@ -47,7 +47,6 @@ public class DeviceAddGroupPage {
}
}
/**
* This method performs creation of a new device group.
* @param name : The group name that is need to be created.
@ -91,5 +90,4 @@ public class DeviceAddGroupPage {
return driver.findElement(By.xpath(
uiElementMapper.getElement("iot.device.groups.add.emptyfrom.error"))).getText();
}
}

@ -132,6 +132,5 @@ public class IOTAdminDashboard {
driver.findElement(By.xpath(uiElementMapper.getElement("iot.admin.device.viewBtn.xpath"))).click();
return new DevicesPage(driver);
}
//ToDo : Need to add policy methods
}

@ -57,7 +57,6 @@ public class IOTHomePage {
return name.contains(uiElementMapper.getElement("iot.user.login.username"));
}
/**
* Performs the logout function.
* @return : IOT login page.
@ -90,7 +89,5 @@ public class IOTHomePage {
driver.findElement(By.xpath("iot.device.viewGroup.empty.addGroup.xpath")).click();
return new DeviceAddGroupPage(driver);
}
//ToDo : To add policies
}

@ -101,5 +101,4 @@ public class LoginPage {
registerLink.click();
return new NewUserRegisterPage(driver);
}
}

@ -110,5 +110,4 @@ public class ConnectedCupDeviceInterface {
Action action = move.dragAndDropBy(slider, 0, val).build();
action.perform();
}
}

@ -17,7 +17,6 @@
*/
package org.wso2.iot.integration.ui.pages.samples;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
@ -79,5 +78,4 @@ public class ConnectedCupDeviceTypeViewPage {
return driver.findElement(By.xpath(
uiElementMapper.getElement("iot.sample.connectedcup.page.title"))).getText().contains("Connected Cup");
}
}

@ -27,7 +27,6 @@ import org.wso2.iot.integration.ui.pages.UIElementMapper;
import java.io.IOException;
/**
* This class represents the add user page of the IOT server.
*/
@ -76,5 +75,4 @@ public class AddUserPage {
return new UserAddedConfirmationPage(driver);
}
}

@ -48,5 +48,4 @@ public class EditUserPage {
public void editUser(String password, String firstName, String lastName) {
driver.findElement(By.xpath(uiElementMapper.getElement("iot.user.add.input.password.xpath")));
}
}

@ -127,5 +127,4 @@ public class NewUserRegisterPage {
passwordField.clear();
passwordConfirmationField.clear();
}
}

@ -33,5 +33,4 @@ public class UserAddedConfirmationPage {
driver.findElement(By.xpath(uiElementMapper.getElement("iot.admin.addUser.view.btn.xpath"))).click();
}
}

@ -43,5 +43,4 @@ public class ViewUserPage {
throw new IllegalStateException("This is not the User view page");
}
}
}

Loading…
Cancel
Save