如何获取旧ID并插入新文本字段

时间:2015-02-07 01:06:44

标签: java selenium selenium-webdriver

我正在开发一个场景,我在其中创建了一个新用户。因为,我将为回归创建大量新用户,我正在分配一个时间戳来区分每个用户ID。例如,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>

1 个答案:

答案 0 :(得分: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