2015-02-07 44 views
1

我正在创建新用户的场景。因为,我将为回归创建大量新用户,我将分配一个时间戳来区分每个用户标识。例如,ABC_2015020615215,ABC_2015020615222等 创建和发送用户与时间戳代码:如何获取旧ID并插入新文本字段

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 2015-02-07 01:21:33

+0

是的,它会创建一个表格,其中每个用户都在。而在用户界面中,这些用户是可点击的 – familyGuy 2015-02-07 01:25:32

+0

你可以提供表格的html吗? – Saifur 2015-02-07 01:26:41

回答

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 2015-02-07 02:21:49

+0

对不起,我感到困惑。我也误解了你的代码。你能解释一下吗?这是一个新的文本字段,我需要插入在上一步中添加的用户“你需要插入什么?类似于“Advertiser_20150204130923”? – Saifur 2015-02-07 02:27:13

+0

是的,我需要插入上一步添加的user_id,即Advertiser_20150204130923。所以,真正的场景是,创建一个用户并添加它。然后转到另一个屏幕。该页面有一个字段,列出所有用户标识。在页面上有一个搜索栏。选择搜索字段,插入与上一步中创建的相同的user_id。它应该过滤搜索并只显示列表中的user_id ... – familyGuy 2015-02-07 02:31:16