回答
无需创建自己的框架 - 使用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,以便您的场景自动化应用中发生的事件。
屏幕对象模式阅读更多关于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场景。我们在一系列物理设备上进行本地测试,因为我们需要连接到内部服务器,但偶尔会使用测试云来研究只发生在特定设备上的问题。
自动化测试框架允许一些测试程序使重复任务最小化。测试用例在屏幕上使用不同的数据集执行。 BDD是一种在开发过程中已经生成和使用样本数据集以确保实现是正确的技术。
- 1. 自动化的Web应用程序测试框架
- 2. BDD Android UI测试框架?
- 3. 移动应用程序框架?
- 4. 移动应用程序开发框架
- 5. 测试自动化框架
- 6. 自动测试框架
- 7. ActionScript:自动测试框架
- 8. 两个移动应用程序的通信测试自动化
- 9. 移动应用程序的自动跨平台测试
- 10. 测试原生移动应用程序
- 11. 移动混合应用程序测试
- 12. 移动应用程序的UWP移动运行WACK测试
- 13. OpenGL应用程序的自动测试
- 14. 自动测试web应用程序
- 15. 应用程序测试自动化
- 16. MFC应用程序的测试框架
- 17. BDD测试框架-RSpec和黄瓜
- 18. 模块化自动化测试服务/框架的网络应用程序
- 19. Android的自动GUI测试框架
- 20. 自动测试框架 - Windows CE
- 21. Magento测试自动化框架(MTAF)
- 22. 玩框架2.10自动测试
- 23. Magento测试自动化框架
- 24. 移动应用程序架构
- 25. Windows Phone测试框架 - NuGet - 测试新应用程序
- 26. 对移动Web应用程序和Web应用程序使用YII框架(php)
- 27. 将自制测试应用程序转换为标准单元测试框架
- 28. 使用离子框架构建混合移动应用程序
- 29. 使用mySQL的跨平台移动应用程序框架?
- 30. 哪个混合移动应用程序框架可以使用
感谢Mohamaad。 但我是新的BDD。 你可以给我任何例子我怎么能从Scratched开始和 我可以创建我自己的框架。 – manoj
@manoj开始与appium合作,在youtube上搜索有很多toturial视频,但我可以解释它:首先,连接手机并使用adb连接到它,然后启动appium服务器,然后您应该使用appium在手机上进行测试,可以使用任何语言,但我使用net API。 – mohammad
如果我想用C#编写自己的自动化测试,我可以写吗? – manoj