使用Selenium自动化测试SAP CRM WebClient UI
Posted JerryWangSAP
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Selenium自动化测试SAP CRM WebClient UI相关的知识,希望对你有一定的参考价值。
<meta charset="utf-8">
package com.xc.crm.test;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;
public class CRMTest
{
private WebDriver myDriver;
private String crmURL;
private String mainWindowHandle;
private String popupWindowHandle;
@Before
public void setUp() throws Exception
{
// System.setProperty("webdriver.ie.driver","C:\xiechuan\30_Software\02_Selenium\IEDriverServer_x64_2.26.2\IEDriverServer.exe");
// DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
// ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
// myDriver = new InternetExplorerDriver(ieCapabilities);
myDriver = new FirefoxDriver();
crmURL = "https://ldcijerry.corp:44354/sap/bc/bsp/sap/crm_ui_start/default.htm";
}
@After
public void tearDown() throws Exception
{
}
@Test
public void test() throws InterruptedException
{
System.out.println("--- Test Start ---");
// This is for initial the tab in browser
// myDriver.navigate().to("[http://www.soso.com/](http://www.soso.com/)");
// Thread.sleep(5000);
myDriver.navigate().to(crmURL);
System.out.println("In Testing: Open CRM Logon page");
Thread.sleep(15000);
myDriver.findElement(By.id("sap-user")).clear();
myDriver.findElement(By.id("sap-password")).clear();
myDriver.findElement(By.id("sap-user")).sendKeys("XIE");
myDriver.findElement(By.id("sap-password")).sendKeys("Xc12");
myDriver.findElement(By.cssSelector("span.urBtnCntTxt")).click();
System.out.println("In Testing: Logon on CRM");
Thread.sleep(15000);
myDriver.findElement(By.id("SERVICEPRO")).click();
System.out.println("In Testing: Click Service Professional");
Thread.sleep(30000);
myDriver.switchTo().frame("CRMApplicationFrame");
Thread.sleep(10000);
myDriver.switchTo().frame("WorkAreaFrame1");
Thread.sleep(10000);
System.out.println("In Testing: Switched to CRMApplicationFrame-WorkAreaFrame1");
// Create service order
// AG3
// myDriver.findElement(By.id("C5_W18_V19_SRV-ORD-DC")).click();
// QD3
myDriver.findElement(By.id("C5_W19_V20_SRV-ORD-DC")).click();
System.out.println("In Testing: Click to create Service Order");
Thread.sleep(20000);
// AG3
// myDriver.findElement(By.id("C31_W109_V112_V113_btrefobjmain_struct.ib_ibase-btn")).click();
// QD3
myDriver.findElement(By.id("C32_W114_V117_V118_btrefobjmain_struct.ib_ibase-btn")).click();
System.out.println("In Testing: Click value help to search IBase");
mainWindowHandle = myDriver.getWindowHandle();
System.out.println("In Testing: " + "Main Window: " + mainWindowHandle + " / " + myDriver.getTitle());
Thread.sleep(10000);
for (String myHandle : myDriver.getWindowHandles())
{
System.out.println("In Testing: " + "Current Handle: " + myHandle);
if(!myHandle.equals(mainWindowHandle))
{
popupWindowHandle = myHandle;
myDriver.switchTo().window(popupWindowHandle);
System.out.println("In Testing: " + "Popup Window: " + myDriver.getWindowHandle() + " / " + myDriver.getTitle());
break;
}
}
myDriver.switchTo().frame("WorkAreaFrame1");
System.out.println("In Testing: Switched to pop-up WorkAreaFrame1");
Thread.sleep(20000);
// Enter IBase ID
// AG3
// myDriver.findElement(By.id("C36_W133_V135_V136_V141_search_parameters[1].VALUE1")).clear();
// myDriver.findElement(By.id("C36_W133_V135_V136_V141_search_parameters[1].VALUE1")).sendKeys("4448");
// QD3
myDriver.findElement(By.id("C37_W137_V139_V140_V145_search_parameters[1].VALUE1")).clear();
myDriver.findElement(By.id("C37_W137_V139_V140_V145_search_parameters[1].VALUE1")).sendKeys("12");
System.out.println("In Testing: Pop-up search parameter entered");
// Click search button
// AG3
// myDriver.findElement(By.id("C36_W133_V135_Searchbtn")).click();
// QD3
myDriver.findElement(By.id("C37_W137_V139_Searchbtn")).click();
System.out.println("In Testing: Click search button in Pop-up window");
Thread.sleep(10000);
// Select the row in search result
// AG3
// myDriver.findElement(By.id("C36_W133_V135_V137_Table_sel_1-rowsel")).click();
// QD3
myDriver.findElement(By.id("C37_W137_V139_V141_Table_sel_1-rowsel")).click();
System.out.println("In Testing: Select search result in Pop-up window");
Thread.sleep(10000);
System.out.println("--- Test End ---");
}
}
以上是关于使用Selenium自动化测试SAP CRM WebClient UI的主要内容,如果未能解决你的问题,请参考以下文章
SAP CRM和C4C的内容管理(Content Management)