我目前正在使用Jmeter webdriver在Web应用程序上进行性能测试。我试图点击页面上的按钮,但这只是几帧。问题之一是框架,它改变了每个会话的名称。这是HTML代码:
<iframe frameborder="0" id="iframe3970-45593-1439460248299" tabindex="-1" src="https://grcrep.fiatitem.com/BOE/portal/1508131050/AnalyticalReporting/WebiView.do?bypassLatestInstance=true&cafWebSesInit=true&bttoken=MDAwREcwXFo2V25vZk00QTtoS1xiUko5Y2Y6T11qOzAEQ&bttoken=MDAwREcwXFo2V25vZk00QTtoS1xiUko5Y2Y6T11qOzAEQ&opendocTarget=infoviewOpenDocFrame&appKind=InfoView&service=%2FInfoView%2Fcommon%2FappService.do&loc=en&pvl=en_US&ctx=standalone&actId=3970&objIds=45593&containerId=45589&pref=maxOpageU%3D50%3BmaxOpageUt%3D200%3BmaxOpageC%3D10%3Btz%3DEurope%2FBerlin%3BmUnit%3Dinch%3BshowFilters%3Dtrue%3BsmtpFrom%3Dtrue%3BpromptForUnsavedData%3Dtrue%3B&tidtime=3970-45593-1439460248299" style="width: 1600px; height: 703px;"></iframe>
...
<iframe id="webiViewFrame" name="webiViewFrame" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" style="margin:0px;position:absolute;left:0px;top:0px;width:100%;height:100%" src="webiDHTML/dhtmllib/empty.html"></iframe>
...
<div id="IconImg_iconMenu_icon__dhtmlLib_268" class="imo" style="width:16px;height:16px;background-image:url('images/main/galleries/icon16x16gallery1b.png');background-position:0px -208px;margin-top:2px;cursor:pointer"></div>
我想点击id=IconImg_iconMenu_icon__dhtmlLib_268
按钮
这是在iframe webiViewFrame和iframe iframe3970-45593-1439460248299
下。最后一帧在每个会话中更改名称。唯一修复的部分是iframe3970-
。我怎样才能找到这个元素。我尝试过使用正则表达式WDS.browser.findElement(pkg.By.id("iframe3970-"+"([0-9]+?)"))
,但它不起作用。
答案 0 :(得分:1)
尝试使用以文本前缀开头的id找到iframe:
WDS.browser.findElement(pkg.By.cssSelector("iframe[id^='iframe3970-']"))