Сценарий: Я использую Android Robotium Solo (v5.6.3) для автоматизации взаимодействия веб-страниц в моем приложении.Мне нужно автоматизировать ввод данных в поля INPUT, содержащиеся в IFRAME, но мне не везет!
Проблема: Когда я пытаюсь использовать, например, solo.waitForWebElement(By.id ("номер комнаты", 5000, true) и solo.typeTextInWebElement (By.id ("номер комнаты", "101"), соло не может найти элемент.
обсуждение этой связанной проблемы «Доступ к iFrame внутри WebView # 794» (https://github.com/RobotiumTech/robotium/issues/794), предполагает, что можно использовать «solo.getConfig (). webFrame = XXX», чтобы сосредоточиться на содержании определенного IFRAME изатем доступ к WebElements. К сожалению, я не смог заставить его работать и не смог найти полных примеров. Я предполагаю, что XXX, возможно, должен быть «id» IFRAME, но в моем сценарии (гдеУ меня нет контроля над исходным кодом для автоматизируемых веб-страниц) тегу IFRAME не присвоен идентификатор.
Я создал простой пример тестового сценария:
index.html - главная страница, котораясодержит IFRAME
<html>
<body bgcolor="#AA3333">
<div id="wrapper">
<iframe src="embed.html" width="100%" height="100%" frameborder="0"></iframe>
</div>
</body>
</html>
embed.html - источник для IFRAME, который содержит элемент INPUT.
<html>
<body bgcolor="#3333AA">
<div id="page-container" style="height:100vh; width:100%;">
<label>Room Number</label>
<input type="text" name="ROOM_NUMBER" id="room-number">
</div>
</body>
</html>