人们是如何做到这一点的?
谢谢
当您模拟用户在浏览器的URL栏中输入一个新URL时,测试类负责创建它所需的page对象。
另一方面,当您在页面上执行某些操作时,浏览器会指向另一个页面(例如,单击链接或提交表单),那么该页面对象就有责任返回下一个页面对象。
由于我对主页、帐户页和结果页之间的关系了解不够,无法准确地告诉您它在站点中的运行情况,因此我将使用一个在线商店应用程序作为示例。
假设你有一个搜索页面。当您在SearchPage上提交表单时,它将返回一个ResultSpage。当你点击一个结果时,你会得到一个ProductPage。因此类看起来如下所示(缩写为相关方法):
public class SearchPage {
public void open() {
return driver.get(url);
}
public ResultsPage search(String term) {
// Code to enter the term into the search box goes here
// Code to click the submit button goes here
return new ResultsPage();
}
}
public class ResultsPage {
public ProductPage openResult(int resultNumber) {
// Code to locate the relevant result link and click on it
return new ProductPage();
}
}
执行这个故事的测试方法如下所示:
@Test
public void testSearch() {
// Here we want to simulate the user going to the search page
// as if opening a browser and entering the URL in the address bar.
// So we instantiate it here in the test code.
SearchPage searchPage = new SearchPage();
searchPage.open(); // calls driver.get() on the correct URL
// Now search for "video games"
ResultsPage videoGameResultsPage = searchPage.search("video games");
// Now open the first result
ProductPage firstProductPage = videoGameResultsPage.openResult(0);
// Some assertion would probably go here
}
如您所见,页面对象的“链接”,每个对象返回下一个。
本章是一个针对页面对象设计模式的教程引导。 一个页面对象表示在你测试的WEB应用程序的用户界面上的区域。 使用页面对象模式的好处: 创建可复用的代码以便于在多个测试用例间共享 减少重复的代码量 如果用户界面变化,只需要修改一处 6.1. 测试用例 下面是一个在python.org网站搜索一个词并保证一些结果可以找到的测试用例。 import unittest from selenium impor
我在Selenium 1(又名Selenium RC)中编写了以下代码,用于使用java滚动页面: Selenium 2(WebDriver)中的等效代码是什么?
问题内容: 今天,当我使用Selenium WebDrive时,出现错误。我的平台是mac osx。这是我的异常日志。 我不知道为什么会这样。我的Firefox路径是默认路径。谢谢您的帮助!! 问题答案: WebDriver使用端口7054(“锁定端口”)作为互斥体,以确保我们不会同时启动两个Firefox实例。您创建的每个新实例将在启动浏览器之前等待互斥体,然后在浏览器打开后立即释放互斥体。 因
问题内容: 我真的很喜欢硒2按照惯例如何促使您使用PageObjects作为POJO,然后简单地使用PageFactory实例化此类中的字段。 我发现的限制是,我们在许多不同的页面上重用了许多元素。最大的问题是,这些重用的组件在不同页面上显示时,其ID /名称不相同;但是我们将为每个测试运行的测试是相同的。 例如,我们在许多地方收集日期。因此,此示例页面对象可能是(删除了“月,日”字段): 然后,
对登录页面使用页面对象模型和页面分解,在登录页面中获取对象。java和操作在LoginScript中。JAVA我有一个java。“Ele_usernamedit.clear();”行中的lang.NullPointerException请帮助检查代码。谢谢 这是我的登录页。爪哇: 这是我的登录cript.java:
Jquery Mobile支持包含历史回退按钮的自动ajax读取外部页面的功能,一组页面转场动画,以及将页面显示为对话框的简易工具。