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

How to get an old ID and insert into a new text field

我正在处理创建新用户的场景。因为,我将创建大量新用户用于回归,所以我分配了一个时间戳来区分每个用户 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>

我将使用 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