小编Mar*_*ann的帖子

如何以正确的方式关注元素?

我在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工作,但是没有正确的方法吗?

c# selenium webdriver

12
推荐指数
1
解决办法
2万
查看次数

在MSTest中如何检查上次测试是否通过(在TestCleanup中)

我正在使用MSTest在Selenium中创建Web测试,并希望每次测试失败时都会截取屏幕截图,但我不希望每次测试都通过.

我想要做的是在[TestCleanup]方法中放置一个截图函数,如果测试失败则运行它,但如果测试通过则不运行.但是如何判断最后一次测试是否通过?

目前我正在做bool = false[TestInitialize]bool = true如果测试贯穿.

但我不认为这是一个非常好的解决方案.

所以基本上我正在寻找一种方法来检测上次测试是否为true/false [TestCleanup].

selenium mstest webdriver

10
推荐指数
2
解决办法
2312
查看次数

可以禁用firefox和chrome默认缓存吗?

我遇到了firefox缓存的问题,当我更改站点重定向时,firefox决定它需要缓存它.

关键是我不想创建一个测试编辑重定向的测试工作,但这个缓存阻止我这样做.

有没有办法禁用Firefox缓存?或者更好,但在需要时删除它?

注意:它不是cookie,而是实际的firefox缓存.

我正在使用webdriver C#版本.

firefox selenium webdriver

9
推荐指数
1
解决办法
1万
查看次数

使用MSTEST针对多个浏览器运行selenium

我使用硒并使用mstest来驱动它.我的问题是我希望我的整个套件能够针对3种不同的浏览器(IE,Firefox和Chrome)运行.

我无法弄清楚的是如何在套件级别上驱动我的测试数据或如何使用不同的paramateres重新运行套件.

我知道我可以为我的所有测试添加一个数据源,并针对多个浏览器运行单独的测试但是我必须为每个单独的测试重复数据源的2行,我认为这不是很好的解决方案.

所以有人知道我的数据如何驱动我的程序集初始化?或者是否有其他解决方案.

selenium mstest webdriver

5
推荐指数
1
解决办法
2274
查看次数

MVC4 RenderViewToString不尊重移动视图

我正在为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)

c# asp.net asp.net-mvc asp.net-mvc-4

5
推荐指数
1
解决办法
248
查看次数