2017-09-21 44 views
0

脚本执行期间网站会话过期。我有4个有15-16个测试方法的类。而我使用testing.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. 这是我的网站的问题或问题的webdriver?
  2. 为什么会话在页面导航中注销?我试过driver.get()driver.navigate().to()但没有成功。

如果遇到这样的问题,有人能给我提示吗?

+1

这就是你的Web服务可能会如何维护会话。 – nullpointer

+1

您需要检查会话中断的原因,这可能是您的网站问题,也可能是因为某种原因设计的。因此,首先自己想出 –

+1

您还没有提供[mcve],我们可以在此重新制作问题。 – JeffC

回答

-1

没有更多的代码很难说实际的问题是什么,但是你有一个逻辑/ DRY问题。根据代码中的注释,您可以在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 

问题的一部分可能是您似乎重复使用会话。您需要检查用户是否已登录或在主页上显示的事实表明,您不知道测试在任何给定点上的位置。

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

+1

他已经完成了同样的工作 – iamsankalp89

+0

@ iamsankalp89他做了什么? – JeffC

+0

@JeffC,无论你想说什么,我都已经做完了 – NarendraR

相关问题