使用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)

Selenium 2自动化测试实战34(编写Web测试用例)

selenium

删除SAP CRM中的联系人信息

爬虫入门Selenium用法简介

SAP CRM 使用Javascript触发SAP Server Event