最近、次の質問を しました: Selenium Webdriver WebElement フィールドから値を取得し、それを Java 変数に渡す
そこで、文字列の値を変数(articleName)に渡すことができる(またはそう思った)受け入れられた回答を実装しました。次にやりたかったのは、この変数を次のクラスに渡して、スーパーユーザーが文字列 articleNameで記事を見つけて使用できるようにすることでした (スーパーユーザーのダッシュボードには多くの記事があります)。
ただし、受け取ったメッセージは次のとおりです。 java.lang.IllegalArgumentException: リンク テキストが null の場合、要素が見つかりません。org.openqa.selenium.By.linkText (By.java:63) で
明らかに、値を正しく渡していません。私は初心者なので、ここで自分よりも先を行っているかもしれません。誰かが私の間違いの基本的な前提を説明できれば、とても感謝しています! 以下のコード スニペット:
// クラス #1
public class EditorArticleCreator {
private static WebDriver driver;
public static String baseURL = TestEnv.getUrl();
public static String username = User.getUsernameEditor();
public static String password = User.getPasswordEditor();
static WebDriverWait wait;
static Date date = new Date();
public static String articleName;
public static String getArticleName(){
return articleName;
}
//いくつかのコードと....
WebElement articleTitleField =driver.findElement(By.cssSelector("#Article_Title"));
articleTitleField.sendKeys("Editor_Feature_Article_" + date.toString());
articleName = articleTitleField.getText();
// クラス #2
public class EditArticleSuperUser {
private static WebDriver driver;
public static String baseURL = TestEnv.getUrl();
public static String username = User.getUsernameSuperUser();
public static String password = User.getPasswordSuperUser();
static WebDriverWait wait;
public static String articleName = EditorArticleCreator.getArticleName();
//いくつかのコードとその後.....
WebElement newarticle = driver.findElement(By.linkText(articleName));
assertEquals("finds new article", articleName, newarticle.getText());