2015-02-07 3 views
1

Я работаю над сценарием, где создаю нового пользователя. Поскольку я буду создавать массу новых пользователей для регрессии, я назначаю временную метку, чтобы отличать каждый идентификатор пользователя. Например, ABC_2015020615215, ABC_2015020615222 и т.д. код для создания и отправки пользователю с отметкой времени:Как получить старый идентификатор и вставить в новое текстовое поле

public static String now = "_" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()); 

// user 
public static String user_id = PropertyLoader.loadProperty("USER_ID") + now; 

Следующий сценарий: мне нужно, чтобы захватить добавил последний пользователь, и вставьте в новое текстовое поле , на другой странице. (оставаясь в том же сеансе драйвера).

Этот код создает нового пользователя:

//enter user id in the text field and add a new user 
driver.findElement(By.name(PvtConstants.ADD_USER_ID_TEXT_FIELD)).sendKeys(user_id); 

Это новое текстовое поле, где нужно вставить пользователя, который был добавлен в предыдущем шаге. Я не могу это понять. Заранее спасибо за помощь!

driver.findElement(By.id(PvtConstants.READ_USER_ADVANCED_FILTER_USER_SEARCH_FIELD)); 

HTML:

<table class="table smallInput dataTable" id="dataTableAdvertisers" "> 
<thead> 
<tr role="row" style="height: 0px;"> 
<th class="sorting_asc" tabindex="0" "></th> 
<th class="sorting" tabindex="0" "></th> 
<th class="sorting" tabindex="0" "></th> 
</tr> 
</thead> 
<tbody role="alert" aria-live="polite" aria-relevant="all"> 
    <tr class="odd"> 
    <td class=""> 
    <a href="getadvertiserdetailsNew.do?advertiserKey=198909">Advertiser_20150204130817</a></td> 
    <td class="">---</td> 
    <td class="">---</td> 
    <td class="">---</td> 
    <td class="">---</td> 
    </tr><tr class="even"> 
    <td class=""> 
    <a href="getadvertiserdetailsNew.do?advertiserKey=198910">Advertiser_20150204130923</a></td> 
    <td class="">---</td> 
    <td class="">---</td> 
    <td class="">---</td><td class="">---</td> 
    </tr><tr class="odd"> 

    </tbody> 
    </table> 
+0

Что произойдет, если вы добавите пользователя? Создает ли он список или ссылку? или что? – Saifur

+0

Да, он создает таблицу, где каждый пользователь находится в . И в пользовательском интерфейсе эти пользователи могут быть интерактивными. – familyGuy

+0

Можете ли вы предоставить «html» таблицы? – Saifur

ответ

1

Я буду использовать Xpath и передавая user_id в качестве параметра. Примечание: этот xpath соответствует любому тегу a с текстом, предоставленным переменной user_id, которая в вашем случае является последней экземпляром переменной с меткой времени.

By byXpath = By.xpath("//a[.='" + user_id + "']"); 

WebElement myDynamicElement = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(byXpath)); 
String newUser = myDynamicElement.getText().trim(); 

//send newUser this to the search field 
+0

Прошу прощения, но я не могу понять код выше, главным образом часть клика. Где вы хотите, чтобы я нажал? – familyGuy

+0

Извините за путаницу. Я неправильно читаю ваш код. Можете ли вы объяснить «Это новое текстовое поле, где мне нужно вставить пользователя, добавленного в предыдущий шаг», что вам нужно вставить? Что-то вроде 'Advertiser_20150204130923'? – Saifur

+0

Да, мне нужно вставить тот же user_id, который был добавлен на предыдущем шаге, который является Advertiser_20150204130923. Итак, реальный сценарий - создать пользователя и добавить его. Затем перейдите на другой экран. На этой странице есть поле, в котором перечислены все идентификаторы пользователей. На странице есть поле поиска. Выберите поле поиска, вставьте тот же user_id, который был создан на предыдущем шаге. Он должен отфильтровать поиск и показать только этот user_id в списке ... – familyGuy

Смежные вопросы