Я думаю, что если вы хотите использовать такой инструмент, как Watir или Selenium, единственным решением будет выполнение JavaScript букмарклета из вашего тестового кода. Открытие порядковой закладки аналогично переходу по некоторому URL.
Вы можете получить букмарклет JavaScript из его свойств. Давайте возьмем Список всех ссылок букмарклет в качестве примера. Код JavaScript для:
javascript:WN7z=open('','Z6','width=400,height=200,scrollbars,resizable,menubar');DL5e=document.links;with(WN7z.document){write('<base target=_blank>');for(lKi=0;lKi<DL5e.length;lKi++){write(DL5e[lKi].toString().link(DL5e[lKi])+'<br><br>')};void(close())}
Из скрипта видно, что имя открытого окна Z6
- оно нам понадобится в нашем коде. К сожалению, я мало знаю Watir, поэтому мой пример в Selenium 2.0 (он же WebDriver ) и в Java, но я думаю, что то же самое можно сделать в Watir:
WebDriver driver = new InternetExplorerDriver();
// Open Google page
driver.get("http://www.google.com.ua/");
// Search for something
WebElement searchField = driver.findElement(By.name("q"));
searchField.sendKeys("webdriver");
searchField.submit();
// Bookmarklet script, note that javascript: was removed from original booknarklet
String script = "WN7z=open('','Z6','width=400,height=200,scrollbars,resizable,menubar');DL5e=document.links;with(WN7z.document){write('<base%20target=_blank>');for(lKi=0;lKi<DL5e.length;lKi++){write(DL5e[lKi].toString().link(DL5e[lKi])+'<br><br>')};void(close())}";
// Execute bookmarklet script
((JavascriptExecutor) driver).executeScript(script);
// Switch to the newly opened window
driver.switchTo().window("Z6");
// Find all the links in the bookmarklet window
List<WebElement> links = driver.findElements(By.tagName("a"));
// And list their text - you can do anything with them
for (WebElement link : links) {
System.out.println(link.getText());
}
driver.quit();
Насколько я понимаю, вы тестируете букмарклет. Если вам нужно изучить ссылки на странице, вы можете сделать это с помощью Selenium (и я считаю, что Watir также может сделать это:)