2016-07-25 82 views

回答

1

无需创建自己的框架 - 使用UITest和SpecFlow完成了所有艰苦的工作。

自动化测试:

Xamarin已经有一个自动化框架,在iOS和Android应用程序的工作称为UITest。你可以使用C#编写你的测试作为测试框架,并且可以直接与你的应用进行交互,查询可视化树,输入文本,点击按钮,读取值(使用NUnit)(但只支持2.6.4,还不支持NUnit 3) ,检查哪些控件可见,甚至访问后门(用于文本目的的应用程序中的代码)或调用类的方法(用于检查不在可视树中的值)。一旦你进行了UI测试,你就可以在模拟器,物理设备上运行它们,或者如果你在他们的测试云上感觉足够丰富 - 云中有数千个物理设备。一旦您使用UITest它真的很容易开始使用SpecFlow BDD

https://developer.xamarin.com/guides/testcloud/uitest/intro-to-uitest/

BDD

你可以阅读更多关于这对他们的开发者网站。有一个Visual Studio扩展和一个Xamarin Studio加载项来启用它。从本质上讲,你编写你的BDD场景并在后台创建NUnit测试。由于它是NUnit,您可以轻松使用UITest,以便您的场景自动化应用中发生的事件。

您可以在http://www.specflow.org

屏幕对象模式阅读更多关于SpecFlow

为了让你的测试更容易写我强烈建议在屏幕上的对象图案读出了(从格雷格镣铐一个很好的指南这里:http://gregshackles.com/testing-xamarin-apps-screen-object-pattern/)。这种模式允许你抽出每个屏幕,所以如果UI改变你只需要更新屏幕定义类。然后,您可以编写一个包含涉及屏幕类的每个屏幕的BDD步骤的步骤类,并且针对您的方案使用这些步骤。

更多资源

如果你喜欢的播客我会强烈建议近期实现了移动插曲(由上述格雷格镣铐托管!),他们讨论了这一点:从Xamarin大学http://gonemobile.io/blog/e0035.mobile.testing.with.alexandra.marin/

罗布Gibbens也对这个伟大的博客文章:http://arteksoftware.com/bdd-tests-with-xamarin-uitest-and-specflow/

我们在工作中使用这种愤怒 - 我们运行的UI测试一个小套房,每拉请求还有一个巨大的夜间跑步覆盖了一系列设备上的所有内容。使用屏幕对象模式将每个测试都编写为一组SpecFlow场景。我们在一系列物理设备上进行本地测试,因为我们需要连接到内部服务器,但偶尔会使用测试云来研究只发生在特定设备上的问题。

1

其测试您在任何设备 测试浏览,功能和应用... ,而不是在许多Android或iOS设备上安装应用程式并测试应用程序,创建一个aotomation它 有很多框架,但我认为其中最好的是Appium ,你可以使用类似this测试任何的Andorid设备与任何版本... 实际上appium工作,如机器人......

+0

感谢Mohamaad。 但我是新的BDD。 你可以给我任何例子我怎么能从Scratched开始和 我可以创建我自己的框架。 – manoj

+0

@manoj开始与appium合作,在youtube上搜索有很多toturial视频,但我可以解释它:首先,连接手机并使用adb连接到它,然后启动appium服务器,然后您应该使用appium在手机上进行测试,可以使用任何语言,但我使用net API。 – mohammad

+0

如果我想用C#编写自己的自动化测试,我可以写吗? – manoj

0

自动化测试框架允许一些测试程序使重复任务最小化。测试用例在屏幕上使用不同的数据集执行。 BDD是一种在开发过程中已经生成和使用样本数据集以确保实现是正确的技术。