找到 201 篇文章 关于动态规划
295 次浏览
我们可以在 Selenium webdriver 中处理框架。html 代码中的框架由 frames/iframe 标签表示。Selenium 可以通过将 webdriver 的访问从主页面切换到框架来处理框架。处理框架的方法如下所示:driver.switch_to_frame("frame name") - frame name 是框架的名称。driver.switch_to_frame("framename.0.frame1") - 用于通过点分隔路径访问框架中的子框架。在这里,它将指向名为 frame1 的框架,它是名为 framename 的框架的第一个子框架。driver.switch_to_default_content() - 用于将 webdriver 的访问从框架切换到... 阅读更多
486 次浏览
我们可以在 Python 中使用 Selenium webdriver 获取文本。这是借助 text 方法完成的。它获取元素中的文本,稍后可以对其进行验证。首先,我们需要借助任何定位器来识别元素。假设我们要获取以下文本 - 您正在浏览以下页面上最好的在线教育资源。示例代码实现。from selenium import webdriver driver = webdriver.Chrome (executable_path="C:\chromedriver.exe") # 使用 maximize_window() 最大化窗口 driver.maximize_window() driver.get("https://tutorialspoint.com/index.htm") # 识别元素 l=driver.find_element_by_css_selector("h4") # 获取文本并打印 print("Text is: " + l.text) driver.close()输出阅读更多
516 次浏览
我们可以在 SpecFlow C# 中的钩子中使用 MSTest 注解。钩子是事件绑定,用于在某些步骤中添加更多自动化逻辑。例如,对于在特定场景之前需要运行的任何步骤。要在代码中引入钩子,我们必须添加 [Binding] 属性。钩子具有全局访问权限。但可以通过声明范围绑定使其对特性和场景可用。范围绑定可以通过标签进行过滤。SpecFlow+ Runner 限制如果我们使用 SpecFlow+ Runner 从多个线程执行测试,则 After 和 Before 钩子(如 BeforeTestRun 和 ... 阅读更多
6K+ 次浏览
我们可以在 Selenium webdriver 中使用 Java 上下滚动页面。这是借助 Actions 类实现的。首先,我们必须创建此 Actions 类的对象,然后对其应用 sendKeys 方法。现在,要向下滚动页面,我们必须将参数 Keys.PAGE_DOWN 传递给此方法。要再次向上滚动页面,我们必须将参数 Keys.PAGE_UP 传递给 sendKeys 方法。最后,我们必须使用 build 和 perform 方法来执行此操作。语法 −Actions a = new Actions(driver); //向下滚动页面 a.sendKeys(Keys.PAGE_DOWN).build().perform(); ... 阅读更多
1K+ 次浏览
在使用 Selenium webdriver 时,我们可能会遇到 StaleElementReferenceException。我们可以在 Selenium webdriver 中修复 StaleElementReferenceException。术语“过时”表示某物不新鲜且已腐烂。因此,过时元素指向不再存在的元素。可能有一种情况是,元素最初位于 DOM 中,但在文档对象模型 (DOM) 中进行修改后,元素变得过时,如果我们尝试访问此元素,则会引发 StaleElementReferenceException。此异常是在元素不存在于 DOM 或被删除时发生的。我们可以通过以下方式处理此异常... 阅读更多
1K+ 次浏览
我们可以使用 Selenium webdriver 在 Python 中手动设置代理设置。这是使用 DesiredCapabilities 类完成的。我们将创建此类的对象并对其应用 add_to_capabilities 方法。然后将代理功能作为参数传递给此方法。示例代码实现from selenium import webdriver from selenium.webdriver.common.proxy import ProxoxyType #添加代理的 ip 和端口 p = '' pxy = Proxy() #设置代理类型 pxy.p_type = ProxyType.MANUAL #http 代理 pxy.http_pxy = p #ssl 代理 pxy.ssl_pxy = p #DesiredCapabilities 对象 c = webdriver.DesiredCapabilities.CHROME #设置代理浏览器功能 pxy.add_to_capabilities(c) #设置 chromedriver.exe 路径 ... 阅读更多
14K+ 次浏览
我们可以在 Selenium 中使用特定的 Chrome 配置文件。这可以通过 ChromeOptions 类来完成。我们需要创建此类的对象,然后对其应用 addArguments 方法。我们要使用的特定 Chrome 配置文件的路径作为参数传递给此方法。我们可以使用 Selenium 打开 Chrome 的默认配置文件。要获取 Chrome 配置文件路径,我们需要在 Chrome 浏览器中输入 chrome://version/,然后按 Enter 键。语法o = webdriver.ChromeOptions() o.add_argument = {'user-data-dir':'/Users/Application/Chrome/Default'}示例代码实现from selenium import webdriver #ChromeOptions 类对象 o = webdriver.ChromeOptions() #添加特定 ... 阅读更多
2K+ 次浏览
我们可以在 Python 中使用 Selenium webdriver 自动下载 pdf。文件下载到 Chrome 浏览器中设置的默认路径中。但是,我们可以在 Selenium 中以编程方式修改下载文件的路径。这是借助 Options 类完成的。我们必须创建此类的对象并应用 add_experimental_option。我们必须将参数 - prefs 和 pdf 要下载到的路径传递给此方法。最后,此信息必须发送到 webdriver 对象。语法op = Options() p = {"download.default_directory": "../pdf"} op.add_experimental_option("prefs", p)示例代码 ... 阅读更多
13K+ 次浏览
我们可以使用 Rest Assured 解析 JSON 响应。要解析 JSON 主体,我们将使用 JSONPath 类并利用此类的方法来获取特定属性的值。我们将首先通过 Postman 对模拟 API URL 发送 GET 请求,并观察响应主体。示例代码实现import org.testng.annotations.Test; import static io.restassured.RestAssured.*; import io.restassured.RestAssured; import io.restassured.path.json.JsonPath; import io.restassured.response.Response; import io.restassured.response.ResponseBody; import io.restassured.specification.RequestSpecification; public class NewTest { @Test void responseParse() { //使用 Rest Assured 类设置基本 URI RestAssured.baseURI = "https://run.mocky.io/v3"; //输入详细信息 ... 阅读更多
7K+ 次浏览
我们可以在 Rest Assured 中验证 XML 响应。为了获取 XML 响应,我们必须将参数 ContentType.XML 传递给 accept 方法。我们首先将通过 Postman 在模拟 API URL 上发送一个 GET 请求。使用 Rest Assured,我们将验证其 XML 响应,其中包含科目 Rest Assured、Postman 的名称以及它们的价格 10 和 6。在上述 XML 响应中,我们将通过遍历路径 - courses.subject.name 和 courses.subject.price 分别获取 name 和 price 标签的值。我们将借助 Hamcrest 框架执行断言,该框架使用... 阅读更多