运行自动化脚本时如何处理“接受Cookies”消息

时间:2019-03-29 16:38:09

标签: selenium-webdriver cookies

我正在编写一个硒测试脚本,该脚本可以导航到URL,例如https://www.flipkart.com/(这只是一个示例网站) 当您第一次导航到主页时,将显示有关Cookies的消息,并且有一个“接受Cookies”按钮。

每当我的硒脚本运行并导航到主页时,它每次都会获得如前所述的cookie消息。我的问题是需要做什么才能使脚本不会遇到此类Cookie同意消息?

我设法将cookie存储在一个文件中。如下

_gut_UB-97923818-1;1;.mycompany.com;/;Fri Mar 29 18:12:07 EET 2019;false

我还尝试使用以下代码设置其有效期

public void retrieveCookie()
    {        
        try{
            File file = new File("Cookie.data");                            
            FileReader fileReader = new FileReader(file);                           
            BufferedReader Buffreader = new BufferedReader(fileReader);
            String strline;         
            while((strline=Buffreader.readLine())!=null){                                   
                    StringTokenizer token = new StringTokenizer(strline,";");                                   
                        while(token.hasMoreTokens()){                   
                            String name = token.nextToken();
                            String value = token.nextToken();
                            String domain = token.nextToken();
                            String path = token.nextToken();
                            Date expiry = null;
                            String val;         
                            if(!(val=token.nextToken()).equals("null")){     //Thu Mar 28 23:26:39 EET 2019
                                expiry = new Date(val);
                            }       
                            Boolean isSecure = new Boolean(token.nextToken()).booleanValue();       
                            Cookie ck = new Cookie(name,value,domain,path,expiry,isSecure);
                            BaseDriver.getDriver().manage().addCookie(ck); // This will add the stored cookie to our current session
                        }       
            }       
            }catch(Exception ex){                   
                ex.printStackTrace();           
            }
        BaseDriver.getDriver().get("https://www.flipkart.com/");
    }

但是我在行上遇到了java.lang.IllegalArgumentException异常,

expiry = new Date(val);

这是因为它无法解析日期

有人可以共享代码以便解析日期吗?

我唯一的意图是每当测试脚本运行时,它都不会遇到Cookie同意消息。如果还有其他方法可以实现,请提出建议。

0 个答案:

没有答案