2

まず、初歩的な質問をお許しください。私は、Java と Selenium Webdriver の両方に比較的慣れていません。

CMS アプリケーションをテストしようとして Webdriver を学習しています。CMS には、記事を作成し、ワークフローを通じて送信するという概念があります。そのため、編集者が記事を作成して SuperUser に送信する場合があります。そのため、編集者として記事を作成し、sendKeys テキストを使用して作成日を追加して「タイトル」フィールドにデータを入力しています。

public class EditorArticleCreator {

    private static WebDriver driver;
    private static String baseURL = TestEnv.getUrl();
    static WebDriverWait wait;
    Date date = new Date();
    static String articleName;

    public static String getArticleName(){
        return articleName;
    }

//some code and then:

driver.findElement(By.cssSelector("#Article_Title")).sendKeys("New_Article_" + date.toString());

私がやりたいことは、作成された Title の String 値を変数に渡し、それを SuperUser のクラスで (Get メソッドを介して) 取得できるようにすることです。

public class EditArticleSuperUser {

    EditorArticleCreator.getArticleName();

}

このようにして、SuperUser として WebDriver にログインしたときに、完全な文字列が articleName フィールドに格納されるため、正しい記事が選択されることを願っています。

これが最善の方法ですか?driver.findElement から文字列値を取得するにはどうすればよいですか?

4

2 に答える 2

1

getAttribute を使用して、テキスト入力の値属性を取得できます。

WebElement articleTitleField = driver.findElement(By.cssSelector("#Article_Title"));
articleTitleField.sendKeys("New_Article_" + date.toString());
articleName = articleTitleField.getAttribute("value");

または、MrTi の articleTitleField.getText() の提案も機能します。

于 2013-11-05T21:48:09.170 に答える
0

最初にタイトルを文字列変数に保存してarticleNameから、それを使用driver.findElement(By.cssSelector("#Article_Title")).sendKeys(articleName)して記事のタイトルの名前を入力してみませんか。articleNameその後、適切に投稿されたことを確認したいときに、この変数を後で参照します。

于 2013-11-05T19:55:02.383 に答える