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
Selenium 将I.Expect.Text与fluentautomation一起使用_Selenium_Ui Automation_Fluentautomation - Fatal编程技术网

Selenium 将I.Expect.Text与fluentautomation一起使用

Selenium 将I.Expect.Text与fluentautomation一起使用,selenium,ui-automation,fluentautomation,Selenium,Ui Automation,Fluentautomation,I.Expect.Text(“sometext”)是否需要使用指定选择器的In方法 我问,因为我继承的一些测试没有在方法中附加,我们的测试通过,即使我知道提供的文本在页面上不存在 我已经查看了文档,但似乎不清楚(对我来说)In选择器是否必须存在。我假设它需要存在 我想我要问的是,如果为了使断言正确工作,确实需要在方法中添加,我将如何流利地声明“sometext”是否出现在页面上的任何div或p标记或类中,或者我应该在整个页面中使用id。我看到了一些有用的东西 那么,像下面这样的东西可以包装到As

I.Expect.Text(“sometext”)是否需要使用指定选择器的In方法

我问,因为我继承的一些测试没有在方法中附加,我们的测试通过,即使我知道提供的文本在页面上不存在

我已经查看了文档,但似乎不清楚(对我来说)In选择器是否必须存在。我假设它需要存在

我想我要问的是,如果为了使断言正确工作,确实需要在
方法中添加,我将如何流利地声明“sometext”是否出现在页面上的任何div或p标记或类中,或者我应该在整个页面中使用id。我看到了一些有用的东西

那么,像下面这样的东西可以包装到AssertSyntaxProvider上的扩展方法中,但是它看起来很笨重/笨拙

        var texts = I.Find("html").Elements.Select(el => el.Item2().Text);
        I.Assert.True(() => texts.Any(t => t.Contains("statement1")));
        I.Assert.True(() => texts.Any(t => t.Contains("statement2")));
        I.Assert.True(() => texts.Any(t => t.Contains("statement3")));
谢谢你的帮助


最后一件事-这是一个很棒的图书馆

是,中的
作为链的执行块是必需的。自从我能够专注于扩展FluentAutomation以来,已经有一段时间了,所以针对多个元素进行断言并没有变得更好

我确实有一个很好的计划,我只是没有时间去实施

至于您的具体测试,您已经接近我现在使用的测试:

I.Open("http://fluent.stirno.com");
var elements = I.FindMultiple("*").Children.Select(x => x());
I.Assert.True(() => elements.Any(x => x.Element.Text.Contains("v3.0 Released!")));

v3.1将有一些更好的方法来处理这个问题,但这至少使用了Sizzle的*选择器来获取每个元素(警告:可能非常慢,所以如果可以限制的话,可以使用“div,p,span”或类似的方法)。

非常好的建议,我也在考虑选择器“div,p,span”,所以现在将一直使用到v3.1!顺便说一句,我喜欢图书馆!!