当前位置: 首页 > 知识库问答 >
问题:

将页面对象与selenium一起使用时,应将get Current url方法放在何处

岳华灿
2023-03-14

当试图做出断言“当前url是否等于主页url?”,是否应将当前url逻辑直接放入测试方法中。像这样,让currentUrl=browser。getCurrentUrl()或可以将此逻辑放入页面对象(如主页)中。

对我来说,如果页面对象本身与当前url没有任何关系,那么询问页面对象有关当前url的信息会让我感到不舒服。同时,不鼓励将webdriver api调用直接放在测试方法中。我应该如何测试这种类型的逻辑?

共有2个答案

凌啸
2023-03-14

您可以在PageObject中创建一个新函数,通过以下方式获取当前url:

currentUrl = browser.getCurrentUrl();

但是对于断言,最好创建一个新模块并将currentUrl作为参数传递。

您可以在SeleniumJavaPageFactory设计中找到一个详细的讨论:在页面对象模型之后在哪里编写断言

段溪叠
2023-03-14

如果您对将url的逻辑放入页面对象(如Hompage)感到不舒服,您可以为url字段本身创建一个sperate页面对象。这也是我对出现在多个页面上的标题所做的。

 类似资料:
  • 问题内容: 我的主页上的所有页面上都有一个函数,我希望它可以通过某些jQuery Ajax方法运行。 我现在有一些这样的代码 jQuery的 母版页中的HTML 我的主VB中的Asp.Net代码 当前,除非我将Web方法移至VB页面,否则此方法不起作用 有什么办法可以改变这部分吗 要使用母版页功能? 我尝试将其更改为 但这只是给我一个404错误 有任何想法吗? 提前致谢 问题答案: 您的网络方法代

  • 问题内容: 由于Tor浏览器捆绑包只是Firefox的修补版本,因此似乎应该可以在Tor浏览器中使用。到目前为止,这是我尝试过的: 这将导致空白的Tor浏览器页面打开,并弹出消息: 无法加载Firefox配置文件。 它可能丢失或无法访问。 我知道配置文件是有效/兼容的,因为我可以使用以下命令成功启动浏览器和配置文件: 但是,我不知道如何向打开的浏览器发送命令。 我发现了类似的问题,但是我正在寻找J

  • 我是Python和Selenium的初学者,我不知道我的代码或环境中有什么错误。。。 下面是错误消息。。。 C:\Python27\python.exeD:/PythonPratice/test.pyTraceback(最近的最后一次调用):File"D:/PythonPratice/test.py",第9行,在driver.get('https://www.google.com.tw/')Fil

  • 问题内容: 考虑以下代码段: 显然不知道可以将a馈送到需要的方法(实际上,它的文档说它在寻找 具有指定名称和形式参数完全相同的方法 )。 是否有一种直接的方法来像上面那样以反射方式查找方法,但是要考虑多态性,以便上述反射示例在查询参数时可以找到该方法? 问题答案: 该反射教程 建议使用样本进行查找

  • 问题内容: 我想这样做: 与angular-datatables模块一起使用。我已经试过了: 控制者 视图 但这根本不起作用,并且我收到此错误消息: DataTables警告:表格ID = DataTables_Table_0-Ajax错误。有关此错误的更多信息,请参见http://datatables.net/tn/7 另外,我无法使用任何Ajax选项从URL获取json数据,因为我的angul

  • 问题内容: 我刚刚开始学习Java流,并遇到了问题。请看下面的例子。这是Node类的一部分: 我的意图是在流中的每个节点上使用名称和结果参数调用#findChildren。我尝试使用方法引用Node :: findChildren时没有运气。我将不胜感激的解决方案与运营商。 是否可以将方法引用与参数一起使用?我喜欢流的想法,我只想使代码更具可读性。 实际上,我认为还有一个类似的问题,方法引用具有读