我在C#中使用selenium Webdriver进行webtest.但是我遇到一个问题,当浏览器窗口不是完整大小时,弹出窗口会在可见区域之外的一半打开.
问题是当我触发.Click(); 它没有做任何事情,因为我试图点击的链接在查看区域之外.
那么我如何专注于链接以获得点击工作?我目前正在使用以下解决方法,但我认为这不是一个好方法.
_blogPostPage.FindElement(By.XPath(_popupLogin)).SendKeys("");
_blogPostPage.FindElement(By.XPath(_popupLogin)).Click();
Run Code Online (Sandbox Code Playgroud)
带空格的sendkeys聚焦在链接上并且每次都使Click工作,但是没有正确的方法吗?
我正在使用MSTest在Selenium中创建Web测试,并希望每次测试失败时都会截取屏幕截图,但我不希望每次测试都通过.
我想要做的是在[TestCleanup]方法中放置一个截图函数,如果测试失败则运行它,但如果测试通过则不运行.但是如何判断最后一次测试是否通过?
目前我正在做bool = false的[TestInitialize]和bool = true如果测试贯穿.
但我不认为这是一个非常好的解决方案.
所以基本上我正在寻找一种方法来检测上次测试是否为true/false [TestCleanup].
我遇到了firefox缓存的问题,当我更改站点重定向时,firefox决定它需要缓存它.
关键是我不想创建一个测试编辑重定向的测试工作,但这个缓存阻止我这样做.
有没有办法禁用Firefox缓存?或者更好,但在需要时删除它?
注意:它不是cookie,而是实际的firefox缓存.
我正在使用webdriver C#版本.
我使用硒并使用mstest来驱动它.我的问题是我希望我的整个套件能够针对3种不同的浏览器(IE,Firefox和Chrome)运行.
我无法弄清楚的是如何在套件级别上驱动我的测试数据或如何使用不同的paramateres重新运行套件.
我知道我可以为我的所有测试添加一个数据源,并针对多个浏览器运行单独的测试但是我必须为每个单独的测试重复数据源的2行,我认为这不是很好的解决方案.
所以有人知道我的数据如何驱动我的程序集初始化?或者是否有其他解决方案.
我正在为asp.net MVC4站点构建移动视图并遇到了问题.我们有很多地方可以将视图转换为字符串,但这种方法似乎不适用于displaymodes,因此总是找到默认视图.例如index.cshtml而不是index.mobile.cshtml.
有什么想法使这段代码尊重移动显示模式?
public string RenderViewToString(string viewName, object model)
{
ViewData.Model = model;
using (var sw = new StringWriter())
{
var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
if (viewResult.View == null)
{
var message = String.Format("View '{0}' not found. Searched in the following locations {1}.",
viewName, String.Join(", ", viewResult.SearchedLocations));
throw new Exception(message);
}
var viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
viewResult.View.Render(viewContext, sw);
viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View);
return stripWhitespaceRx.Replace(sw.GetStringBuilder().ToString(), " ").Trim();
}
}
Run Code Online (Sandbox Code Playgroud)