selenium编写脚本
如果您刚刚开始学习Selenium,则以下技巧和窍门将成为您的救星。 这些技巧和窍门具有您可能会忘记的所有基本知识,将帮助您记住所有这些。 您只需浏览一次,几秒钟后您便会了解所有内容。 让我们一一看一下所有的技巧和窍门。
- 创建Webdriver实例的最佳方法
您可以使测试通用。 第一步是通过传递配置文件中的值来初始化浏览器。 您可以将一个键作为浏览器,并将值作为Chrome,Firefox或IE。 然后,您可以根据传递给浏览器的值来初始化浏览器。 让我们看看将要涉及的代码。在此处添加段落文本。
public static WebDriver getBrowser(String browserName)
{
If(driver == null)
{
if(browserName.equals(“firefox”))
{
driver = new FirefoxDriver();
}
else if(browserName.equals(“Chrome”))
{
driver=new ChromeDriver();
}
else if(browserName.contains(“IE”))
{
driver=new InternetExplorerDriver();
}
}
return driver;
}
- 检查元素是否存在的最佳方法
如果必须检查Web应用程序中是否存在某个元素,则可以通过获取Web元素的大小然后检查它是否大于零来轻松地做到这一点。
布尔值isElementExists = driver.findElements(By.xpath(“”))。size()> 0
- 如何等待页面完全加载?
有时,页面需要花费一些时间来加载,因此您必须等待一段时间才能完全加载页面。 为此,您必须首先检查它是否正确装入,然后可以对其进行任何其他操作。 您可以使用Javascriptexecutor检查页面是否完全加载。
wait.until(new Predicate < WebDriver > () {
@Override
public Boolean waitPageLoaded(WebDriver driver) {
return ((JavascriptExecutor) driver).executeScript("return document.readyState").equals("complete");
}
});
- 如何使用Selenium Webdriver 截 屏 ?
有时,在执行过程中截取屏幕截图以了解出了什么问题非常重要。 该死的说要用Selenium来做。 您可以拥有Selenium驱动程序,然后将其强制转换为“截屏”界面。 创建它的一个实例,然后使用它来获取屏幕截图。 您可以使用工具包方法.getScreenshotAs,然后可以指定期望的屏幕截图格式。
//将屏幕快照存储在当前项目目录中
字符串screenShot = System.getProperty(“ user.dir”)+“ \\ screenshottest.png”;
//广播Webdriver来截取屏幕截图
文件srcFile =(((TakesScreenshot)驱动程序).getScreenshotAs(OutputType.FILE);
//保存屏幕截图
FileUtils.copyFile(srcFile,new File(screenShot));
- 如何在Selenium Webdriver中 获取Web元素HTML源 ?
Selenium WebDriver为您提供了一种名为getAttribute的方法,该方法将允许您获取Web元素的内部HTML。 您可以通过首先获取元素来实现。 之后,您可以使用getAttribute获取Web元素的innerHTML。
字符串html = element.getAttribute(“ innerHTML”);
- 如何使用“选择类”选择下拉选项?
在Selenium中,如果遇到任何下拉菜单,则可以使用select类在其中选择任何选项。 您可以通过多种方式选择选项。 其中一些方法包括按文本,索引和值进行选择。
Select drp= new Select(Driver.findElement(By.xpath(“”));
drp.deselectAll();
drp.selectByVisibleText("selectLabel");
- 如何在 Webdriver中 刷新网页 ?
如果要刷新页面,则可以使用Selenium Web驱动程序的navigation()方法。 然后,您可以使用refresh()方法实际刷新页面,以便从头开始初始化所有元素。
driver.navigate()。refresh();
- 如何使用Selenium Webdriver 切换到新选项卡 ?
您可以使用Selenium Webdriver轻松切换到新选项卡。 首先要记住的是使用.getWindowHandles(),然后可以切换到具有所有窗口句柄的数组列表的第一个索引。
ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(tabs.get(0));
- 如何在 Webdriver中 设置驱动程序可执行路径 ?
对于浏览器,chrome和ie,您必须查看驱动程序可执行文件的路径。 要设置路径,您必须在Selenium中使用System.setProperty方法。 让我们看看它的外观。
File ieDriverPath = new File("path//iexploredriver.exe");
System.setProperty("webdriver.ie.driver", ieDriverPath.getAbsolutePath());
WebDriver driver = new InternetExplorerDriver();
- 如何切换到新的弹出窗口?
如果要切换到打开的特定窗口,则可以先getAllWindowHandles(),然后使用driver.switchTo()方法切换。
/ Get the current window handle.
String hBefore = driver.getWindowHandle();
// action which opens lot of windows.
// Switch to new windows.
for(String hNew: driver.getWindowHandles()){
driver.switchTo().window(hNew);
}
// Close all new windows.
driver.close();
// Switch back to first window.
driver.switchTo().window(hBefore);
但是如果万一,您想专门切换到特定窗口。 您可以获取一个Web元素,并在特定窗口中查看它的可见性。 如果存在,则可以切换到它。
/ Get the current window handle.
String hBefore = driver.getWindowHandle();
// Click to open new windows.
// Switch to window which has a webelement attached to it
for(String hNew: driver.getWindowHandles()){
If(driver.findElements(By.xpath(“”)).size()>0)
{
driver.switchTo().window(hNew);
}
}
// Close all new windows.
driver.close();
// Switch back to first window.
driver.switchTo().window(hBefore);
- 如何单击一个不可见的复选框?
在许多情况下,您想要单击的复选框不可见,很遗憾,您无法单击该复选框。 您必须先启用它,然后才能实际单击它。 如果您不启用它,则会出现异常,例如“元素当前不可见,因此可能无法与之交互。”
可以使用Java脚本执行器启用它,以便Selenium可以单击它。 代码段如下:
((JavascriptExecutor)driver).executeScript("arguments[0].checked = true;", checkbox);
- 如何在Selenium Webdriver中进行鼠标悬停动作?
如果要将鼠标悬停在Web元素上,则可以使用Actions()类进行处理。 您可以依次使用函数moveToElemenet(),build()和perform()在Web元素上执行鼠标悬停操作。
Actions action = new Actions(driver);
WebElement item = driver.findElement(By.xpath(""));
action.moveToElement(item).moveToElement(driver.findElement(By.xpath("")) ).click().build().perform();
- 如何在运行测试脚本之前删除Cookies?
有时在运行测试脚本之前清除所有cookie是非常重要的。 您可以使用driver.manage()的DeleteAllCookies方法方法。
代码片段如下:
this.driver.Manage()。Cookies.DeleteAllCookies();
另外,如果您有一个具有特定名称的Cookie,则可以使用以下方法将其删除:manage()类的DeleteCookiesNames。
this.driver.Manage()。Cookies.DeleteCookieNamed(“ CookieName”);
- 如何在测试脚本中最大化窗口?
有时,您需要以全窗口大小和分辨率测试脚本。 您可以通过使用驱动程序实例的manage()方法轻松完成此操作。 然后,您可以使用window()方法,然后使用maximum()方法将窗口放大到最大大小。
代码段如下:
public void MaximizeWindow()
{
this.driver.get(“");
this.driver.Manage().Window().Maximize();
}
因此,有一些重要的技巧可以帮助您进行Selenium测试。 如果您牢记这些,则可以在“自动化测试”中编写脚本时解决大部分问题。 因此,使用它们可以节省您的时间。 祝一切顺利!!