我有以下正则表达式:
^(?=.{8}$).+
Run Code Online (Sandbox Code Playgroud)
我理解这一点的方式是它将接受8种任何类型的角色,然后是任何一个或多个角色.我觉得我并没有理解积极的前瞻是如何运作的.因为正则表达式的两个部分都在寻找'.' 不会有任何系列的角色适合这个?
我的问题是,积极的前瞻如何影响这个正则表达式以及匹配字符串的示例是什么?
在以下正则表达式工具中提供时,以下内容不匹配:
编辑:删除前两个数据条目,因为我显然没有正确使用正则表达式工具,因为它们现在匹配正好8个字符.
我的目标是在每个单元测试迭代中都有"嵌套"数据.我想这样做,所以我可以有一组要调用的数据,以及一系列动作(由字符串描述),然后在我的测试中解释和执行.我目前通过测试资源管理器在VS2013中运行测试,使用非嵌套数据(例如,无数据/操作子项组).
例如,我的数据可能是:
<TestData>
<Iteration>
<Data>
<LoginName>admin</LoginName>
<Password>admin</Password>
</Data>
<Actions>
<Action>EnterText_LoginName</Action>
<Action>EnterText_Password</Action>
<Action>ClickButton_Login</Action>
</Actions>
</Iteration>
</TestData>
Run Code Online (Sandbox Code Playgroud)
我想按照正常的非嵌套测试(dataElements["element"]
)访问Data中的元素,但是,我希望在列表中包含Actions元素.我试过以下但没有成功:
var data = TestContext.DataRow.GetChildRows("Iteration_Data");
var actions = TestContext.DataRow.GetChildRows("Iteration_Actions");
Run Code Online (Sandbox Code Playgroud)
GetChildRows似乎是正确的方法,但我无法在返回的对象中看到任何类似于我的XML元素的数据 - 我只得到1个DataRow
具有ItemArray
3个值(0,{},0)的对象.如何检索我的Action元素列表,以便我可以访问该文本:
我一直试图找到一种方法来从MTM访问当前的Build Number和/或当前的Environment Settings,作为构建的一部分运行的测试套件.我希望在我自己的自定义报告中使用此信息,因为MTM提供的信息无法捕获我需要的所有信息.
有人能够做到这一点吗?我已经阅读了许多人尝试的帖子,但它们似乎都以死胡同或Test Scribe结束,它只是在单词doc中输出相同的数据并且相当受限制(没有自定义文件路径可以保存,并且在测试期间不运行) ).
不幸的是,我没有代码来呈现我尝试过的东西,因为我甚至没有接近过.虽然我已经非常仔细地查看了VisualStudio2010中的TestContext,但它似乎没有在正在运行的当前TestCase之外获取更多的MTM信息.
我对C#中的lambda表达式很新,我倾向于不使用它们,因为我不知道最小化代码的好处是什么.它们在某些/所有情况下都更有效吗?或者除了将更多代码放在一行之外,还有什么奇妙的东西可以实现吗?
我一直在使用WatiN与IE取得巨大成功,但现在我想转向Chrome.在我看来,如果我可以创建一个Chrome浏览器的实例,它应该是一个类似的过程,但创建一个Chrome实例被证明是一个棘手的任务.我目前正在关注:WatiN.Core.Native.Chrome.ChromeBrowser我是否走在正确的轨道上?或者我错过了WatiN.Core.Chrome的集会?
编辑:我现在已经调查了Selenium并且正在使用它,Chrome,Firefox和IE取得了一些成功.对于那些需要多个浏览器支持的人,我建议Selenium不要使用WatiN,至少在他们完成他们的Firefox和Chrome实现之前.一般来说,两者都非常方便用于UI测试!