浏览器多窗口处理—Selenium自动化测试指南(7)

发表于:2013-9-03 11:40

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:赵卓    来源:51Testing软件测试网

分享:

  执行结果如图5-68所示。

  

图5-68  执行结果

  5.10  设置管理

  在Selenium 2中,可以通过Options对象对测试进行设置,设置内容包括Cookie。超时时间和浏览器窗口。

  5.10.1  Cookies/getCookies()

  通过Cookies属性(适用于C#)/getCookies()方法(适用于Java)可以获取当前的Cookie集合,可以对其进行读取、添加和删除。

  一般在测试的时候很少会修改Cookie,而且大多数Cookie也是加密的,让人无从修改。只有在极少数特例中才会在测试中修改Cookie。

  Cookie一般由5个部分组成,即名称、值、所在域、路径和过期时间。

  可以编写程序清单5-70或程序清单5-71所示的代码,先进入百度首页,通过Cookies属性(适用于C#)/getCookies()方法(适用于Java)获取当前的Cookie集合。打印Cookie集合的数量,然后将各个Cookie的所有属性打印出来。接着手动添加Cookie,再次打印出Cookie集合的数量,检查是否添加成功将刚才添加的Cookie删除,再次打印出Cookie集合的数量,检查是否成功删除Cookie。

  程序清单5-70 C#代码

using System;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
IWebDriver mainWindow = new FirefoxDriver();
INavigation navigation = mainWindow.Navigate();
navigation.GoToUrl("http://www.baidu.com");
ICookieJar cookies = mainWindow.Manage().Cookies;
//打印已有的cookie数量和内容
Console.WriteLine("当前cookie集合的数量为:" + cookies.AllCookies.Count);
Console.WriteLine("");
for (int i = 0; i < cookies.AllCookies.Count; i++)
{
Console.WriteLine("第" + (i + 1) + "个cookie的各项属性为:");
Console.WriteLine("cookie名称     - "+cookies.AllCookies[0].Name);
Console.WriteLine("cookie值       - " + cookies.AllCookies[0].Value);
Console.WriteLine("cookie所在域   - " + cookies.AllCookies[0].Domain);
Console.WriteLine("cookie路径     - " + cookies.AllCookies[0].Path);
Console.WriteLine("cookie过期时间 - " + cookies.AllCookies[0].Expiry);
Console.WriteLine("");
}
//添加cookie
Cookie newCookie=new Cookie("newcookie","新cookie值","baidu.com","",DateTime. Now.AddDays(1));
cookies.AddCookie(newCookie);
Console.WriteLine("新增的cookie的各项属性为:");
Console.WriteLine("cookie名称     - " + newCookie.Name);
Console.WriteLine("cookie值       - " + newCookie.Value);
Console.WriteLine("cookie所在域   - " + newCookie.Domain);
Console.WriteLine("cookie路径     - " + newCookie.Path);
Console.WriteLine("cookie过期时间 - " + newCookie.Expiry);
Console.WriteLine("");
//添加后显示cookie数量
Console.WriteLine("添加cookie后,cookie集合的数量为:" + cookies.AllCookies.Count);
Console.WriteLine("");
//删除cookie,先找到名为"newcookie"的cookie,然后删除
cookies.DeleteCookieNamed("newcookie");
//删除后显示cookie数量
Console.WriteLine("删除cookie后,cookie集合的数量为:" + cookies.AllCookies.Count);
Console.ReadKey();
}
}
}

54/5<12345>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • cxwtomcat
    2014-6-07 19:48:02

    这书除了这个第五章外,几乎都在凑字数,基本没什么价值,要学webdriver看英文电子书。

  • shingo0109
    2013-9-04 12:13:30

    请问这书哪里能买到?

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号