我目前正在使用量子框架在Selenium中编写脚本,并且进行了复杂的验证,其中页面中有很多动态对象被标识为数据索引,如下面的html所示。
<div _ngcontent-c23="" class="col-xs-12 col-sm-6 col-md-6 col-lg-4 space-column ng-star-inserted" data-index="0">
<cws-cardbox _ngcontent-c23="" _nghost-c28="" class="Investment0" ng-reflect-ng-class="Investment0" ng-reflect-status="A"><div _ngcontent-c28="" class="card-status active" ng-reflect-klass="card-status" ng-reflect-ng-class="[object Object]">
</div>
<div _ngcontent-c28="" class="card-box">
<div _ngcontent-c23="" class="policy">
<span _ngcontent-c23="" class="planType">Investment</span>
<span _ngcontent-c23="" class="product">
Inheritance
</span>
<div _ngcontent-c23="" class="policy-no">
<label _ngcontent-c23="" class="policy-label">
Policy No.:
</label>
<span _ngcontent-c23="" class="policy-value">8000 0000 01</span>
</div>
</div>
<div _ngcontent-c23="" class="divider"></div>
<!--bindings={
"ng-reflect-ng-if": "false"
}-->
<!--bindings={
"ng-reflect-ng-if": "true"
}--><div _ngcontent-c23="" class="policy-content ng-star-inserted">
</div>
</div>
</cws-cardbox>
</div>
在下面的代码中,只要页面中存在对象,似乎对div内容的验证始终是正确的。如何限制它仅在data_index0 div内进行验证。
@QAFTestStepProvider
public class cwsPolicyCardStepDef{
@QAFTestStep(description = "validate data index")
public void dataIndexValidation() {
QAFExtendedWebElement dataIndex0 = new QAFExtendedWebElement("xpath_of_data_index_0");
QAFExtendedWebElement planType = new QAFExtendedWebElement("xpath_of_plan_type");
dataIndex0.verifyPresent("data index 0 is present...");
planType.verifyPresent("plan type 'Investment' is inside data index 0... ");
}
}