找到 720 篇文章 关于测试工具
4K+ 次浏览
我们可以为 Selenium webdriver 中的页面加载设置真实的超时时间。有多种方法可以实现超时。它们列在下面:setScriptTimeout、pageLoadTimeout、implicitlyWait。setScriptTimeout 方法用于为 webdriver 设置时间。这通常应用于异步测试,在抛出异常之前完成。超时的默认值为 0。此方法通常用于 Selenium 中的 JavaScript 命令。如果我们省略脚本的时间设置,则 executeAsyncScript 方法可能会由于 JavaScript 耗时过长而导致失败。如果将超时时间设置为负数,则… 阅读更多
1K+ 次浏览
我们可以使用 Selenium 中的 Chrome webdriver 在 Python 中下载文件。我们将为此目的使用 ChromeOptions 类。首先,我们将创建一个 ChromeOptions 类的对象。然后在创建的对象上应用 add_experimental_option 方法。我们将设置 download.default_directory: 参数。最后,此信息将传递给驱动程序对象。语法 op = webdriver.ChromeOptions() p = {'download.default_directory':'C:\Users\ghs6kor\Downloads\Test'} op.add_experimental_option('prefs', p) 示例 from selenium import webdriver from selenium.webdriver.chrome.options import Options # Options 类的对象 op = webdriver.ChromeOptions() # 浏览器首选项 p = {'download.default_directory':'C:\Users\ghs6kor\Downloads\Test'} # 向浏览器添加选项 op.add_experimental_option('prefs', p) # 设置 chromedriver.exe 路径 driver = webdriver.Chrome(executable_path="C:\chromedriver.exe", options=op) # 最大化浏览器 driver.maximize_window() # 启动 URL driver.get("https://www.seleniumhq.org/download/"); # 点击… 阅读更多
3K+ 次浏览
我们可以使 Selenium 等待 Ajax 响应。由于 Ajax 响应导致的页面加载时间的确定是一项困难的任务。这可以借助 Selenium 中的同步概念和等待方法来实现:隐式等待 - 它允许 webdriver 等待指定的时间,之后抛出异常。此等待适用于测试中的所有步骤。语法 driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); 示例 使用隐式等待的代码实现。 import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.concurrent.TimeUnit; public class AjaxImplWt{ public static void main(String[] args) { ... 阅读更多
3K+ 次浏览
我们可以使用 Selenium webdriver 禁用 JavaScript。我们必须使用 Options 类来完成此任务。首先,我们必须创建一个 Options 类的对象。然后在该对象上应用 set_preference 方法。为了禁用 JavaScript,我们将浏览器参数 javascript.enabled 设置为 False。此信息也应传递给驱动程序对象。语法 op = Options() op.set_preference('javascript.enabled', False) 我们可以通过以下步骤获取浏览器的 javascript.enabled 参数:打开浏览器。在浏览器地址中键入 about:config。在搜索栏中输入 javascript。示例 from selenium import webdriver from selenium.webdriver.firefox.options import Options # Options 类的对象 op ... 阅读更多
3K+ 次浏览
我们可以使用 Selenium webdriver 中的 executeAsyncScript 方法。对于 executeAsyncScript 方法,JavaScript 执行器将运行 JavaScript 的异步部分,并引用当前选择的窗口或框架。与 executeScript 相反,使用 executeAsyncScript 方法运行的脚本应通过调用给定的回调来完成。回调始终作为最后一个参数添加到执行的函数中。传递的第一个参数用于获取脚本结果。如果脚本包含 return 语句,则遵循以下规则:对于 HTML 元素,返回一个 webelement。对于十进制数,返回一个 double… 阅读更多
3K+ 次浏览
我们可以将 Selenium 用于 .NET 应用程序。系统中应该安装了 Visual Studio 2019,以及 Selenium webdriver 和任何浏览器(如 Firefox、Chrome 等)。然后我们必须使用 NUnit 框架。启动 Visual Studio 2019,然后单击“创建新项目”。在“创建新项目”弹出窗口中出现的搜索框中键入 NUnit。从搜索结果中选择 NUnit Test Project(.NET Core)。输入项目名称和位置。然后单击“创建”继续。由于项目是在 NUnit(.Net Core) 上设置的,因此默认情况下将提供 Setup 和 Test 方法。我们应该导航到… 阅读更多
330 次浏览
我们可以使用 Selenium webdriver 检查 DOM 是否具有类。我们可以使用 findElements 方法获取具有特定类的元素列表。然后将 By.className 或 By.xpath 或 By.cssSelector 作为参数传递给该方法。我们要搜索的类名作为参数传递给该方法。让我们研究一下下面的 html 代码,它有一个具有类值 toc chapters 的 ul 元素。然后获取其子元素。示例 import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.concurrent.TimeUnit; public class ClassAttrb{ public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", ... 阅读更多
103 次浏览
我们可以使用 Selenium webdriver 截取测试屏幕截图。在失败测试的故障分析中,捕获屏幕截图是最重要的步骤之一。截取屏幕截图是一个三步过程。首先,我们将 webdriver 对象转换为名为 TakeScreenshot 的接口。然后,我们必须使用 getScreenshotAs 方法来捕获图像。作为参数传递给该方法的图像是要捕获的图像的文件格式。最后,使用 FileUtils.copyFile 方法将捕获图像的文件复制到某个位置。语法 File s = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); FileUtils.copyFile(s, new File("Image.png")); 示例 import org.openqa.selenium.By; ... 阅读更多
2K+ 次浏览
executeAsyncScript 和 executeScript 方法之间存在差异。对于 executeScript 方法,JavaScript 执行器将运行 JavaScript,并引用当前选择的窗口或框架。方法中的脚本将作为未命名函数的主体运行。在脚本中,文档用于指向当前文档。此外,由于脚本已完成执行,因此局部变量将不存在。但是,全局变量将存在。如果脚本包含 return 语句,则遵循以下规则:对于 HTML 元素,返回一个 webelement。对于… 阅读更多
490 次浏览
我们可以让Selenium等待页面加载完成。我们可以使用Selenium中的同步概念来等待页面加载。隐式等待是一种应用于元素的同步类型,用于等待指定的时间量。语法:driver.manage().timeouts().implicitlyWait();我们还可以调用JavaScript方法document.readyState,并等待其返回“complete”值。Selenium借助executeScript方法执行JavaScript命令。语法:JavascriptExecutor j = (JavascriptExecutor)driver; j.executeScript("return document.readyState").toString().equals("complete");完成此步骤后,我们应该检查URL是否与我们正在查找的URL相似。示例代码:使用隐式等待的代码实现。import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import ... 阅读更多