8

そこで、 Selenium IDEを使用して、実行したい自動化のテスト ケースを作成しました。この場合のループ/フロー制御を作成できるようにしたいので、Selenium IDE から Java のようなものにエクスポートする必要があると考えました (私は Java に最も精通しています)。Java/JUnit4/Web Driverにエクスポートしました。Eclipseで Java ファイルを実行するのが一番うまくいくと思いますが、もっと簡単なことを知っている人がいたら教えてください。とにかく、Eclipse を介してこの Java を実行する方法について、適切な説明が見つかりませんでした。

私が読んだほとんどのことは、ビルド パス ライブラリにSelenium Standalone Serverが含まれていることを確認するように指示しています。私が読んだ事実上すべてのものは、Selenium Remote Control を使用するように指示しています。ただし、RC は減価償却されていると思いました。Selenium からダウンロードした最新の Web ドライバーで動作させる方法があるかどうか疑問に思っています。また、私が読んだほとんどのものは、public static void main()を使用する必要があることを教えてくれます。これは、エクスポートされたセレンが提供するコードを変更する方法がわからないため、少し厄介です(明らかに、すべてを貼り付けることができません)メインメソッドで)。

Selenium の Java へのエクスポートからコードの実行まで、誰かが私を案内してくれるなら、私は永遠にあなたのお世話になります。

Selenium が提供するコード: package com.example.tests;

package com.rackspace;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.NoAlertPresentException;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;

public class RackspaceContactAutomation {
   private WebDriver driver;
   private String baseUrl;
   private boolean acceptNextAlert = true;
   private StringBuffer verificationErrors = new StringBuffer();

   @Before
   public void setUp() throws Exception {
      driver = new FirefoxDriver();
      baseUrl = "https://cp.rackspace.com/Exchange/Mail/Contacts/List.aspx?selectedDomain=blahblahblah.com";
      driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
   }

   @Test
   public void testContactAutomationJava() throws Exception {
      driver.get(baseUrl + "/Exchange/Mail/Contacts/List.aspx?selectedDomain=blahblahblah.com");
      driver.findElement(By.linkText("Mr. Man")).click();
      driver.findElement(By.linkText("Contact Information")).click();
      new Select(driver.findElement(By.id("PhoneNumberType"))).selectByVisibleText("Mobile");
      driver.findElement(By.id("MobilePhone")).sendKeys("999-999-9999");
      new Select(driver.findElement(By.id("PhoneNumberType"))).selectByVisibleText("Fax");
      driver.findElement(By.id("Fax")).sendKeys("999-999-9999");
      driver.findElement(By.cssSelector("button.primary")).click();
   }

   @After
   public void tearDown() throws Exception {
      driver.quit();
      String verificationErrorString = verificationErrors.toString();
      if (!"".equals(verificationErrorString)) {
         fail(verificationErrorString);
      }
   }

   private boolean isElementPresent(By by) {
      try {
         driver.findElement(by);
         return true;
      } catch (NoSuchElementException e) {
         return false;
      }
   }

   private boolean isAlertPresent() {
      try {
         driver.switchTo().alert();
         return true;
      } catch (NoAlertPresentException e) {
         return false;
      }
   }

   private String closeAlertAndGetItsText() {
      try {
         Alert alert = driver.switchTo().alert();
         String alertText = alert.getText();
         if (acceptNextAlert) {
            alert.accept();
         } else {
            alert.dismiss();
         }
         return alertText;
      } finally {
         acceptNextAlert = true;
      }
   }
}

これにより、4つのエラーが発生します(3つは注釈用で、削除できますが、1つfailtearDown()メソッド用です。このコードを実際に実行するにはどうすればよいのでしょうか?

ありがとう!

4

3 に答える 3

-1

セレンを aj 単体テストに変換することに対する私の答えは非常に簡単です。

まず、パースペクティブ ワークベンチでコードを設定する必要があります。ツールバーの をクリックしてエディターを使用し、表示されている場所に移動し、これらのエディターのいずれかを押します。Java エディターまたはウィンドウ エディターなどが表示されます。コードを変換します。次に、クラスに戻って強調表示し、マウスを右クリックして Java アプリケーションとして実行します。あなたのデザインとソースコードを見ることができるはずです。他に質問は

于 2015-03-23T09:29:00.140 に答える