Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cookies 测试cookie的Selenium测试_Cookies_Selenium_Playframework - Fatal编程技术网

Cookies 测试cookie的Selenium测试

Cookies 测试cookie的Selenium测试,cookies,selenium,playframework,Cookies,Selenium,Playframework,我想编写一个selenium测试,它将检查当我登录到我的应用程序,然后重新打开浏览器时,我是否使用保存的cookie自动登录 我认为在两个#{selenium}块之间调用clearSession()是可能的,但这似乎也可以清除cookie。我已经测试过该功能可以手动工作 你知道我该怎么做吗 供参考:以下是我尝试过的 #{fixture delete:'all', load:'../conf/User.yml' /} #{selenium} deleteAllVisibleCookies

我想编写一个selenium测试,它将检查当我登录到我的应用程序,然后重新打开浏览器时,我是否使用保存的cookie自动登录

我认为在两个#{selenium}块之间调用clearSession()是可能的,但这似乎也可以清除cookie。我已经测试过该功能可以手动工作

你知道我该怎么做吗

供参考:以下是我尝试过的

#{fixture delete:'all', load:'../conf/User.yml' /}

#{selenium}
    deleteAllVisibleCookies()
    // Open the home page, and check that no error occurred
    open('/')
    waitForPageToLoad(1000)
    assertNotTitle('Application error')
    open('/login')
    type('usernameOrEmail', 'marchaos')
    type('password', 'password')
    clickAndWait('css=input[type=submit]')
    assertTextPresent('Welcome marchaos')
    clearSession()
#{/selenium}

#{selenium}
    // Open the home page, and check that no error occurred
    open('/')
    waitForPageToLoad(1000)
    assertTextPresent('Welcome marchaos')
#{/selenium} 

它在最后一次assertTextPresent()时失败。

我不知道Selenium,但您可以在功能测试中执行此操作

我是这样做的:

Response loginResponse = FunctionalTest.GET("/user/login?login=test&password=test");
Map<String, Cookie> loginResponseCookies = loginResponse.cookies;

....

Request request = FunctionalTest.newRequest();
request.cookies = loginResponseCookies;
request.url = url;
return FunctionalTest.GET(request, url);
响应loginResponse=FunctionalTest.GET(“/user/login?login=test&password=test”); Map loginResponseCookies=loginResponse.cookies; .... Request Request=FunctionalTest.newRequest(); request.cookies=loginResponseCookies; request.url=url; 返回FunctionalTest.GET(请求,url);
我不了解Selenium,但您可以在功能测试中进行

我是这样做的:

Response loginResponse = FunctionalTest.GET("/user/login?login=test&password=test");
Map<String, Cookie> loginResponseCookies = loginResponse.cookies;

....

Request request = FunctionalTest.newRequest();
request.cookies = loginResponseCookies;
request.url = url;
return FunctionalTest.GET(request, url);
响应loginResponse=FunctionalTest.GET(“/user/login?login=test&password=test”); Map loginResponseCookies=loginResponse.cookies; .... Request Request=FunctionalTest.newRequest(); request.cookies=loginResponseCookies; request.url=url; 返回FunctionalTest.GET(请求,url); 类似主题在这里类似主题在这里