【问题标题】:How can I get same innertext ptoperty value in all browsers (IE, Chrome and Firefox)如何在所有浏览器(IE、Chrome 和 Firefox)中获得相同的内部文本属性值
【发布时间】:2014-11-05 06:36:30
【问题描述】:

我是硒的新手。我正在使用 CUIT 进行跨浏览器测试。每当我在 IE 中记录操作并在 chrome 中播放时,我的测试都会失败,因为 IE 和 Chrome 中的 innertext 属性值不同。

我的大部分测试脚本都依赖于 innertext 属性。

有没有办法(通用转换器)在所有浏览器中获取相同的内部文本属性值?

如果我使用 Selenium 在所有浏览器中测试我的应用程序。 selenium 在所有浏览器中返回相同的内部文本值吗?

CUIT论坛查询链接https://social.msdn.microsoft.com/Forums/vstudio/en-US/201b6822-5ea9-4a8f-983d-fcc5d3d12f0b/cross-browser-testing-in-coded-ui-problem-with-considering-spaces?forum=vstest#86a5bacb-fbc5-4224-983f-d43504c693b0

【问题讨论】:

  • 肯定与 Selenium 或 CodedUI 无关,但取决于浏览器如何返回 innerText?!

标签: google-chrome internet-explorer selenium coded-ui-tests


【解决方案1】:

innerText 是使用 Internet Explorer 的旧方式。相反,您可以使用 textContent

代码如下:

  var domElement = document.getElementById("txtUserName");      
  var output = domElement.textContent || domElement.innerText;

如果您在项目中使用 jQuery,则可以使用 .text(),因为它旨在支持跨浏览器

【讨论】:

  • 嗨拉胡尔,感谢您的快速回复。你能分享更多关于 domElement 的信息吗?我只知道 CUIT,即 UITestControl。但是 UITestControl 上没有 textContent 属性。
  • domElement 是网页/文档中存在的元素,我们可以通过 document.getElementbyId 获取。请检查我是否已编辑我的答案。
  • 嗨 Rahul,我已经开发了一些使用 innerText 属性的测试。 innerText 和 TextContent 属性之间的确切区别是什么。有没有办法从 innerText 属性值获取 textContext 属性值,反之亦然
  • @RajDiscussion Internet Explorer 使用 innerText 属性,Firefox 使用 textContent 属性。所以修改你的代码,比如 var output = domElement.textContent || domElement.innerText;。所以它适用于跨浏览器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-03
  • 2012-04-08
  • 2022-12-24
  • 1970-01-01
  • 2018-10-04
相关资源
最近更新 更多