如何在桌面Selenium webdriver应用程序中使用ERP Web应用程序查找数据?

时间:2017-01-02 16:12:37

标签: java selenium selenium-webdriver

我们有一个ERP网络应用程序,我们在其中使用查找通过键入来显示匹配(来自数据库)。

我正在使用桌面Selenium webdriver应用程序来测试ERP应用程序。如何使用Selenium webdriver自动执行ERP应用程序中的查找?

以下是代码:

<div class="form-group col-sm-12">
        <span class="col-sm-3">
            <label><spring:message code="label.notify" text="Notify"/></label>
            <div id="memberList">
            <c:forEach items = "${memberListMap}" var="member">
              ${member.value}<a id='${member.key}' onclick='deleteMember(this.id)'><img  align='absmiddle' style='height:10px;' src='<c:url value='/resources/images/delete.jpg' />' alt='Delete' title='Delete' /></a>&nbsp;&nbsp;
            </c:forEach>
            </div>
            <div id="add_member_link" ><a class="light_blue" onclick="JavaScript:document.getElementById('resourceName').style.display='';document.getElementById('add_member_link').style.display='none';document.getElementById('resourceAjaxLookupDiv').style.display='none';">
            <b><img align="absmiddle" style="margin-right:5px;color:#3C78B7;" src='<c:url value="/resources/images/add_icon.png" />'></img>
                <spring:message code="label.addusers" text="Add users"/></b></a></div>

                <input class="form-control" ng-model="position.resourceName" name="resourceName" id="resourceName" style="width:200px;margin-right:20px;display:none"
                    onkeyup="return getResourceList('<c:url value="/user/resourceList" />', 'resourceAjaxLookupDiv');" autocomplete="off" />    
                <input type="hidden" name="resourceId" id="resourceId" />       

                <div id="resourceAjaxLookupDiv" style="text-align:center;min-height:18px;max-height:100px;width:203px;overflow:auto;
                background-color:#ffffff;display:none;border:1px solid #7f9db9;position:absolute;z-index:1000;border-top:0;">
                </div>
                <input type="hidden" name="member_array" id="member_array" />   
            </span>                                             
        </div>

1 个答案:

答案 0 :(得分:0)

自动查找包括两个步骤:

  1. Type查询字段中的文字
  2. Click匹配列表中的条目
  3. 由于两个UI元素都有ID,finding它们应该很简单:

    WebElement myElement = driver.findElement(By.id("element id"));

    据我所知,您的ID为resourceNameresourceAjaxLookupDiv

    由于您的查找似乎是异步AJAX请求(与页面重新加载相反),您当然希望定义显式WebDriverWait以等待列表加载。