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