4

クリックすると要素の色をアサートするテスト自動化をセットアップしようとしています。しかし、私はそれを行う正しい方法を見つけることができませんでした。私はセレンの初心者です。可能な限りの方法を試しましたが、失敗しました。

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;
}
4

2 に答える 2

2

私見のアイデアは次のとおりです。クリックする前に、要素のcssプロパティ(特に色)を取得する必要があります。それをクリックした後、要素のcssプロパティ(色)を取得します。

したがって、次のようになります(Javaで作業し、jsExecutorを使用してjavascriptの一部を実行してgetColor関数を実装します。要素の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));

お役に立てば幸いです。

于 2012-10-17T19:15:05.557 に答える
1

私はintelijIDEAで働いています。したがって、セレンテストを作成するためのsetUpは、次のようになります。

1)Mavenをインストールします

  • 配布アーカイブ、つまりapache-maven-3.0.4-bin.zipを、Maven3.0.4をインストールするディレクトリに解凍します。これらの手順は、C:\ Program Files \ ApacheSoftwareFoundationを選択したことを前提としています。サブディレクトリapache-maven-3.0.4がアーカイブから作成されます。
  • システムプロパティ(WinKey + Pause)を開き、[Advanced]タブと[Environment Variables]ボタンを選択し、C:\ Program Files \の値でユーザー変数にM2_HOME変数を追加して、M2_HOME環境変数を追加します。 Apache Software Foundation\apache-maven-3.0.4。パスにスペースが含まれている場合でも、パスを囲む引用符は必ず省略してください。 
  • 同じダイアログで、値%M2_HOME%\binを使用してユーザー変数にM2環境変数を追加します。

2)jdkをインストールします3)ここに画像の説明を入力してください

4)正しく設定したすべての環境変数を確認します ここに画像の説明を入力してください 。5)intelij IDEAを実行し、プロジェクト構造を選択して、インストール済みのJDKをセットアップします ここに画像の説明を入力してください 。6)New.selectjsdkを押します。Javaをインストールした場所にパスを書き込みます。例:C:\ Program Files \ Java \ jdk1.6.0_29 ここに画像の説明を入力してください 7)新しいプロジェクトを最初から作成します ここに画像の説明を入力してください 8)mavenモジュール ここに画像の説明を入力してください 9)ここに画像の説明を入力してください 10)ここに画像の説明を入力してください 11)POMに適切な依存関係を追加します。 ここに画像の説明を入力してください

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

12)まだ赤い線で下線が引かれている場合は、Alt+Enterキーを押してください>>アイデアは自動的に自動インポートを提案するはずです。

13)プロジェクトのテスト構造 ここに画像の説明を入力してください

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)また、セレンIDEで作成したテストをJUNIT4-セレンとしてエクスポートし、IDEAで開くことができることを忘れないでください ここに画像の説明を入力してください

よろしく

于 2012-10-19T11:16:27.507 に答える