2015-06-12 59 views
0

有人可以帮助我这个请 如何检查标签的输出我的网页上包含有某些字符串开头的标签:单元测试标签输出

这是我的代码:

IWebElement approvedBOm = _driver.FindElement(By.Id("dlBOMLineItems_ctl12_lblApprovalStatus")); 
Assert.IsTrue(approvedBOm.ToString().StartsWith("Approved By ")); 

如果你看一下我的代码我的代码可以看出,我要检查,如果标签输出,如果你正在使用Selenium

+1

我怀疑'IWebElement'(你在这里使用什么工具?)可能有更多的属性来获得它的内容,而'.ToString()'给你一个整个对象的表示,而不仅仅是你想检查的内容。 –

+0

你是指什么工具使用什么,你指硒? – user2643961

+0

是的 - 我的意思是Selenium,搜索IWebElement表明你可能正在使用它 - 查看我的答案。 –

回答

0

“的批准”,该IWebElement接口具有Text property开始。做.ToString()是给你一个整个对象的表示,而不是返回标签的实际文本。您应该使用Text属性来代替:

IWebElement approvedBOm = _driver.FindElement(By.Id("dlBOMLineItems_ctl12_lblApprovalStatus")); 
Assert.IsTrue(approvedBOm.Text.StartsWith("Approved By ")); 

你的一个评论指出,标签实际上包含“批准人......”。如果这是您要测试的内容,则需要更改StartsWith检查。如果你不介意的情况下是文字的东西,只要它是正确的文本,你可以使用一个不区分大小写的检查:

Assert.IsTrue(approvedBOm.Text.StartsWith("approved by ", StringComparison.InvariantCultureIgnoreCase)) 
+0

感谢詹姆斯,但不幸的是代码仍然失败,与此 - Assert.IsTrue(approvedBOm.Text.StartsWith(“Approved By”)); – user2643961

+0

更好地编辑你的问题的东西,而不是把它们放在注释中 - 完整的错误信息帮助etc –

+0

我不明白你的问题詹姆斯 – user2643961