我正在验证应用程序在创建或删除值后生成的消息。
我尝试从应用程序捕获输入,来自应用程序的成功消息如下:-
的例子:
"This is a -rnText Message."
我在specflow中的输入:-
Then user verifies "This is a -r nText Message." ->Does not work
也试过了-
Then user verifies "This is a -rnText Message." ->Does not work and returns text "This is a -\r\nText Message."
请帮助。
HTML代码:
<article class="alertify-log alertify-log-success alertify-log-show">
This is a -
<br>
Text Message.
<article/>
我代码:[FindsBy(How = How.XPath, Using = "//article[@class='alertify-log alertify-log-success alertify-log-show']")]
public IWebElement AlertMessage;
public static void(string Message)
{
string VerifyMessage = commonPage.AlertMessage.Text;
Assert.AreEqual(Message, VerifyMessage);
Console.WriteLine(VerifyMessage );
}
我只会做一个替换。
var test = Driver.FindElement(By.XPath("//article[@class='alertify-log alertify-log-success alertify-log-show']")).Text.Replace("-rn", "");
这将返回:
"This is a Text Message."
那么在你的代码中,试试这个:
更改步长以查找没有"-rn">
var Message = "This is a Text Message.";
[FindsBy(How = How.XPath, Using = "//article[@class='alertify-log alertify-log-success alertify-log-show']")]
public IWebElement AlertMessage;
public static void(string Message)
{
string VerifyMessage = commonPage.AlertMessage.Text.Replace("-rn", "");
Assert.AreEqual(Message, VerifyMessage);
Console.WriteLine(VerifyMessage );
}
您可以使用DocString (https://docs.specflow.org/projects/specflow/en/latest/Gherkin/Gherkin-Reference.html#doc-strings)参数代替普通参数。有了它,您可以指定多行字符串
你的步骤看起来像这样:
Then user verifies
"""
This is a
Text Message.
"""
您可以将此多行字符串作为普通参数访问:
[Then("user verifies")]
public void BindingMethod(string parameter)
{
//your code
}