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

浏览器会话在脚本执行期间过期

鲜于喜
2023-03-14

网站会话在脚本执行期间过期。我有4门课,有15-16种测试方法。而我使用测试中的数据作为一个套件来执行所有操作。xml。

场景:在用户登录后执行搜索

我使用以下条件

if(check user is already login)
{
    if(check user is on homepage URL)
    {
       // if user is already on homepage then perform search
    }
    else
    {
        //here my code is  first navigate the page to homepage and then perform search. 
        But the session get destroy once it navigate to home page here and the test get failed as 
    }
}
else
{
   // not login then first do login and then perform search
}

所以我的问题是:

  1. 是我的网站问题还是网络驱动问题?
  2. 为什么会话会在页面导航上获得注销?我已经尝试了driver.get()driver.navigate(). to(),但没有成功。

有没有人能给我一个这样的问题的线索?

共有1个答案

孔建柏
2023-03-14

如果没有更多的代码,很难判断实际的问题是什么,但确实存在逻辑/枯燥的问题。根据代码中的注释,您的搜索代码位于3个不同的位置。更好的逻辑流程应该是这样的

if (user is not logged in)
{
     // log in
}
if (browser is not on homepage URL)
{
    // navigate to home page
}
// now you can do the search

部分原因可能是您似乎在重复使用会话。你需要检查用户是否登录或在主页上,这表明你不知道在任何给定点测试在哪里。

编写此测试的更好方法是创建一个测试,该测试实例化浏览器,导航到主页,登录用户,进行搜索,然后关闭浏览器。这是一个测试。如果需要使用不同的搜索条件重复该测试,那么可以进行数据驱动测试。通过这样一个小测试,可以更容易地了解脚本正在做什么,并且不太可能出现会话超时等问题。

 类似资料:
  • 我不清楚浏览器是在脚本运行时还是在执行后启动回流。因此,基本上,如果我有一个循环(100次迭代),将一个元素插入DOM,浏览器会停止脚本执行,用插入的元素重新计算布局,在每一步中重新绘制?然后下一步是什么?或者它不停地插入100个元件,然后再回流? 要将其转换为代码,这两个代码之间是否存在性能差异? 还是更好? 或者,有没有更好、更有效的解决方案,可以在DOM中插入大量元素(10000个或更多),

  • 我正在尝试运行电子商务演示应用程序的自动化脚本。但在将项目添加到购物车时,项目将添加到购物车,但登录会话已过期。我使用selenium、testNG工具和java编程语言开发了脚本。

  • 我希望在启动Spring boot应用程序时始终运行SQL脚本。我添加了这个液化酶配置: application.yml db。变更日志主机。亚马尔 变更日志。亚马尔 data.yaml data.sql 数据库表应该填充测试数据,但事实并非如此。我看不到日志data.sql文件执行。 你知道问题出在哪里吗?

  • 问题内容: 我的问题如下:如何在不同Java类中的测试中重复使用浏览器会话?我打开了这样的浏览器: 然后,我必须使用一些凭据登录网站,并在登录后想执行其他测试,所以我不想为每个测试都登录,因为我需要进行很多测试并为每个用户登录花十年时间。例如,流程如下所示:登录->推送一些组件->添加一些值->生成报告。在此之后,我想在另一个组件上生成其他报告,但是当我尝试使用它时,将给出一个空指针异常。有任何想

  • 问题内容: 这是A0.txt A0.html文件 此代码在命令中执行,但在任何浏览器中均不执行 问题答案: 正如其他人所评论的那样,您确实不想这样做。 只需在服务器端创建一个Web服务(可以是普通的servlet),然后在applet中使用它。 基本Servlet示例: 小程序基本示例: 但是要小心SQL注入。绝对不要将原始SQL查询作为请求参数或pathinfo传递,并始终使用DAO代码。 作为

  • 虽然 Selenium IDE 只能运行在火狐浏览器上,但是 Selenium IDE 开发的测试案例却可以运行在其他浏览器上。使用一个简单的命令行接口来调用 Selenium RC 服务器。这个话题在Selenium RC 运行 Selenese 测试部分章节有介绍。-htmlSuite 命令行选项是跟这个特定功能相关的。