2012-10-17 5 views
4

클릭 할 때 요소 색상을 지정할 테스트 자동화를 설정하려고합니다. 그러나, 나는 그것을 할 올바른 방법을 찾을 수 없습니다. 저는 셀레늄 초보자입니다. 가능한 모든 방법을 시도했지만 실패했습니다.Selenium IDE에서 요소 색상을 지정하십시오.

HTML :

<a class="mg-friend-12345 friend selected" title="test" data-cid="12345" style=""> 

CSS : 아이디어가 될 이럴

.imweb #mgifting-dialog .mg-friends .friend.selected, .imweb #mgifting-dialog .mg-friends .non-friend.selected { 
    background-color: #9DD4FD; 
} 
+0

탄원에서 열 se 당신이 시도한 것을 알려주십시오. –

답변

2

다음 우리는 간단하게 클릭하기 전에 요소의 (particulat에, 컬러) CSS 속성을 얻을 필요가있다. 요소를 클릭 한 후 CSS 속성 (색상)을 가져옵니다.

그래서 (나는 자바에서 일을하고 우리가 getColor에서 기능을 구현하기 위해 jsExecutor를 사용하여 자바 스크립트의 일부를 실행 그것은 색상을 반환 요소의 CSS 선택을 그리고 얻을 것이다..)처럼 :

public String jsGetColor(String css){ 
     JavascriptExecutor js = (JavascriptExecutor) driver; 
     StringBuilder stringBuilder = new StringBuilder(); 
     stringBuilder.append("var x=$(\'"+css+"\');"); 
     stringBuilder.append("return x.css('color')"); 
     //stringBuilder.append("return x.css('background-color')"); 
     String res= (String) js.executeScript(stringBuilder.toString()); 
     return res; 
    } 

String cssSelectorLink="a[class='mg-friend-12345 friend selected']"; 
WebElement linkToClick = driver.findElemebt(By.cssSelector(cssSelectorLink)); 
String colorBeforeClick = jsGetColor(cssSelectorLink); 
linkToClick.click(); 
String colorAfterClick = jsGetColor(cssSelectorLink); 
Assert.assertFalse(colorBeforeClick.equals(colorAfterClick)); 

희망이 있으면 도움이 될 것입니다.

+0

대단히 감사합니다! 그러나 나는이 코드를 사용하는 방법에 대해 혼란 스럽다. 왜냐하면 나는 멍청한 놈이다. 이 코드를 단순히 사용하는 방법과 명령, 대상 및 값 상자를 사용하는 방법을 알려주십시오. – user1754182

+0

오오 .. 죄송합니다. 나는 혼란스러워했다. 질문은 selnium IDE와 관련이 있습니다. 그리고 셀레늄 webdriver + java에서 작업합니다. 나는 셀레늄 IDE에 멍청하다 :) 나는 당신이 IDE를 설정하고 테스트를 작성하는 방법을 설명 할 수있다. in java –

+0

괜찮습니다! 도와 줘서 고마워! IDE를 설정하고 테스트를 작성할 수있는 방법을 가르쳐주세요. 자바에서. 감사! – user1754182

1

글쎄, 나는 intelij IDEA에서 일하고있다. 그래서 셀레늄 테스트를 작성하기 위해 setUp. 다음 수 :

1) 을 받는다는

  • 의 압축을 풀고 배포 아카이브, 즉 apache-maven-3.0.4-bin.zip 당신이 메이븐 3.0.4을 설치하고자하는 디렉토리를 설치합니다. 이 지침 은 C : \ Program Files \ Apache Software Foundation을 선택했다고 가정합니다. 하위 디렉토리 apache-maven-3.0.4가 아카이브에서 생성됩니다.
  • 다음 값 사용자 변수 M2_HOME 가변 부가 상기 "환경 변수"버튼 "고급"탭을 선택 특성 (나타내는 깜박이는 + 일시) 시스템을 열어 M2_HOME 환경 변수를 추가하고, C : \ Program Files \ Apache 소프트웨어 재단 \ apache-maven-3.0.4. 공백이 포함되어 있어도 경로 주위에 어떤 따옴표도 생략하지 마십시오.
  • 동일한 대화 상자에서 값이 M2_HOME % \ bin 인 변수 에 M2 환경 변수를 추가하십시오.

2) JDK 3) enter image description here

4를 설치) 설치된 JDK enter image description here 을 설정하는 프로젝트 구조를 선택 IDEA를 intelij 실행) 모든 환경 변수가 제대로 enter image description here 를 설정했는지 확인 6) New.select jsdk를 누르십시오. Java를 설치 한 경로 (예 : C : \ Program Files \ Java \ jdk1.6).0_29 enter image description here 7) 스크래치로부터 새로운 프로젝트를 생성 enter image description here 8) 받는다는 모듈 enter image description here 9) enter image description here 10) enter image description here 11) 적절한 종속성 POM에 추가 enter image description here

<dependency> 
<groupId>org.seleniumhq.selenium</groupId> 
<artifactId>selenium-java</artifactId> 
<version>2.24.1</version> 
</dependency> 

12) 정지하는 경우를 빨간색 줄에 밑줄을 긋고 Alt + Enter를 누릅니다. 아이디어는 자동으로 자동 가져 오기를 제안해야합니다.

13) 프로젝트 enter image description here

14) 셀레늄 시험의 일반적인 구조 테스트 구조

import com.thoughtworks.selenium.SeleneseTestBase; 
import org.junit.After; 
import org.junit.Before; 
import org.junit.BeforeClass; 
import org.junit.Test; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.firefox.FirefoxDriver; 

import java.util.concurrent.TimeUnit; 

public class HomePageTest extends SeleneseTestBase{ 

    static WebDriver driver; 

    @Before 
    public void openFirefox(){ 

     driver = new FirefoxDriver(); 
     driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); 

    } 

    @Test 
    public void testHomePage(){ 
     driver.get("https://www.google.by/"); 
     WebElement search = driver.findElement(By.xpath("//*[@id=\"gbqfq\"]")); 
     search.sendKeys("laptop"); 
     search.submit(); 

    } 

    @After 
    public void closeFirefox(){ 
     // driver.quit(); 
    } 
} 

15) 또한 JUNIT4으로 셀레늄 IDE에서 생성 된 테스트를 내보낼 수 있음을 잊지 마세요 - 셀레늄 및 IDEA enter image description here

감사

관련 문제