SlideShare a Scribd company logo
MobileAPI + CRM – using
application related .xml
files to build part of an
automation framework
TSIMAFEI AVILIN
JANUARY 30, 2016
• Tsimafei Avilin
• 9+ years in IT - 3 years in Functional Testing,
6+ years in Automation Testing
• Test automation optimization, Test automation
frameworks, Test Automation strategy
• Test Automation, Test Frameworks, Resource
Management, QTP, TestComplete, WebDriver, API
testing, .NET Automation, etc.
ABOUT ME
Problem statement
4CONFIDENTIAL
General example of passing data
5CONFIDENTIAL
CRM + Mobile example
CRM Mobile
• FetchXML is a proprietary query language that is used in Microsoft Dynamics CRM Online 2016 Update and Microsoft
Dynamics CRM 2016 (on-premises). It’s based on a schema that describes the capabilities of the language. The FetchXML
language supports similar query capabilities as query expressions. In addition, it’s used as a serialized form of query,
used to save a query as a user-owned saved view in the userquery entity and as an organization-owned saved view in
the savedquery entity. link
6CONFIDENTIAL
Simple test scenario
TC: Get all companies
• Login
• Verify all companies passed from the server
• Verify all companies have correct data
7CONFIDENTIAL
Common scenario
8CONFIDENTIAL
Getting actual and expected data in TAF
9CONFIDENTIAL
Company object
Company object has many properties, how do you
decide which properties to use to:
- create fetchXML;
- parse response;
- Compare actual and expected data;
- How to store properties?
DB
HTML (response from mobile API)
10CONFIDENTIAL
What you
gonna do?
11CONFIDENTIAL
Approach #1 : Kick and Get (KAG)
Role 1 Role 2
12CONFIDENTIAL
Approach #2 : Cry and Get (CAG)
Role 1 Role 2
13CONFIDENTIAL
Approach# 3: Think and Get (TAG)
тельняшка?
14CONFIDENTIAL
Application architecture
15CONFIDENTIAL
ANALYZE VIEW AND…
16CONFIDENTIAL
… OBJECT
17CONFIDENTIAL
Reading xml files
Both MobileAdapter and TAF read xml files
located on the server independently
18CONFIDENTIAL
Get view and object data
Views xml files Entities xml files
19CONFIDENTIAL
Using it in your TAF
public static string[]
GetUniqueXRMPropertiesByListView(EntityType ID, string listview)
{
var controls = GetAllControls(listview);
var ignoreprop = GetIgnoreInCRMQueryProperties(ID);
var props = controls.Where(c =>
ignoreprop.Contains(c.Property) != true)
.Select(c => c.Property)
.Distinct()
.ToArray();
return props;
}
[DllImport("advapi32.DLL", SetLastError = true)]
public static extern int LogonUser(string lpszUsername,
string lpszDomain, string lpszPassword, int dwLogonType, int
dwLogonProvider, ref IntPtr phToken);
public void CreateRecentFile(XDocument xDoc, string
fileName)
{
IntPtr admin_token = default(IntPtr);
WindowsIdentity wid_current =
WindowsIdentity.GetCurrent();
WindowsIdentity wid_admin = null;
WindowsImpersonationContext wic = null;
try
{
20CONFIDENTIAL
Workflow
21CONFIDENTIAL
fetchXML files examples
You can check XML file contains information about
• search
• aggregate
• filtering/sorting
• whatever you have in xml to be under test…
22CONFIDENTIAL
• NOT NEED TO THINK ABOUT
PROPERTIES CHANGES
• SIMPLE PARSING OF XML FILES
• SET OF PROPERTIES IS GENERATED ON
FLY
CONS PROS
PROS AND CONS
• DIFFICULT TO UNDERSTAND THIS
APPROACH
• CROSS DOMAIN ISSUES
• DO YOU HAVE SOMETHING TO ADD?..
You even can control set of properties in xml file by creating kind of ‘template’ set
And hence improve performance by removing unnecessary properties from dev. xml;
23CONFIDENTIAL
Thank you for your
attention!
Questions?
Благодарствую-с за оказаные почести, судари и барышни!

More Related Content

PPTX
Chapter 4 microsoft access 2010
PDF
Accelerate FedRAMP Compliance on Amazon EKS with Anchore
PDF
Hibernate interview questions
PDF
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...
PDF
AppDynamics Administration - AppSphere16
PPTX
FluentD for end to end monitoring
PPTX
Learning to Rank: From Theory to Production - Malvina Josephidou & Diego Cecc...
PDF
Hibernate Interview Questions
Chapter 4 microsoft access 2010
Accelerate FedRAMP Compliance on Amazon EKS with Anchore
Hibernate interview questions
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...
AppDynamics Administration - AppSphere16
FluentD for end to end monitoring
Learning to Rank: From Theory to Production - Malvina Josephidou & Diego Cecc...
Hibernate Interview Questions

Similar to MobileAPI + CRM – using application related .xml files to build automation framework (20)

PDF
Hibernate reference1
PDF
Near real-time anomaly detection at Lyft
PPT
Using and Extending the Eclipse Test and Performance Tools Platform (TPTP) fo...
PDF
Vertex AI - Unified ML Platform for the entire AI workflow on Google Cloud
PDF
Cisco connect montreal 2018 saalvare md-program-xr-v2
PDF
SRE Certification and SRE Courses Online in India – Visualpath.pdf
PDF
Advanced Appium Tips & Tricks with Jonathan Lipps
PPTX
Customer Presentation - Financial Services Organization
PPT
Toward a Standardized XMAN Presentation Layer with Consideration of User Inte...
PDF
Better IT Operations and Security through Enhanced z/OS Analytics: New Featur...
PPT
IBM Operations Analytics For z Systems V2.2 - Client Long Pres
PPT
Hybrid framework
PPTX
.net Framework
PPTX
apidays Paris 2024 - Design, Debug, Test and Mock APIs with Kong Insomnia, Pi...
PPTX
Apache Eagle in Action
PPT
Muves3 Elastic Grid Java One2009 Final
PPTX
Using Sumo Logic - Apr 2018
PPT
Silverlight Development & The Model-View-ViewModel Pattern
PDF
C# .NET Developer Portfolio
PPT
“Lights Out”Configuration using Tivoli Netcool AutoDiscovery Tools
Hibernate reference1
Near real-time anomaly detection at Lyft
Using and Extending the Eclipse Test and Performance Tools Platform (TPTP) fo...
Vertex AI - Unified ML Platform for the entire AI workflow on Google Cloud
Cisco connect montreal 2018 saalvare md-program-xr-v2
SRE Certification and SRE Courses Online in India – Visualpath.pdf
Advanced Appium Tips & Tricks with Jonathan Lipps
Customer Presentation - Financial Services Organization
Toward a Standardized XMAN Presentation Layer with Consideration of User Inte...
Better IT Operations and Security through Enhanced z/OS Analytics: New Featur...
IBM Operations Analytics For z Systems V2.2 - Client Long Pres
Hybrid framework
.net Framework
apidays Paris 2024 - Design, Debug, Test and Mock APIs with Kong Insomnia, Pi...
Apache Eagle in Action
Muves3 Elastic Grid Java One2009 Final
Using Sumo Logic - Apr 2018
Silverlight Development & The Model-View-ViewModel Pattern
C# .NET Developer Portfolio
“Lights Out”Configuration using Tivoli Netcool AutoDiscovery Tools
Ad

More from COMAQA.BY (20)

PDF
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
PPTX
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
PPTX
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
PPTX
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
PPTX
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
PPTX
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
PPTX
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
PPTX
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
PPTX
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
PPTX
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
PPTX
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
PPTX
Моя роль в конфликте
PPTX
Организация приемочного тестирования силами матерых тестировщиков
PPTX
Развитие или смерть
PPTX
Системный взгляд на параллельный запуск Selenium тестов
PPTX
Эффективная работа с рутинными задачами
PPTX
Как стать синьором
PPTX
Open your mind for OpenSource
PPTX
JDI 2.0. Not only UI testing
PPTX
Out of box page object design pattern, java
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
Моя роль в конфликте
Организация приемочного тестирования силами матерых тестировщиков
Развитие или смерть
Системный взгляд на параллельный запуск Selenium тестов
Эффективная работа с рутинными задачами
Как стать синьором
Open your mind for OpenSource
JDI 2.0. Not only UI testing
Out of box page object design pattern, java
Ad

Recently uploaded (20)

PPTX
Machine Learning_overview_presentation.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Encapsulation theory and applications.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
1. Introduction to Computer Programming.pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Approach and Philosophy of On baking technology
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Machine Learning_overview_presentation.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
A comparative analysis of optical character recognition models for extracting...
Group 1 Presentation -Planning and Decision Making .pptx
Spectral efficient network and resource selection model in 5G networks
Encapsulation theory and applications.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
A Presentation on Artificial Intelligence
Univ-Connecticut-ChatGPT-Presentaion.pdf
SOPHOS-XG Firewall Administrator PPT.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
1. Introduction to Computer Programming.pptx
NewMind AI Weekly Chronicles - August'25-Week II
Approach and Philosophy of On baking technology
Network Security Unit 5.pdf for BCA BBA.
Assigned Numbers - 2025 - Bluetooth® Document
Diabetes mellitus diagnosis method based random forest with bat algorithm
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

MobileAPI + CRM – using application related .xml files to build automation framework

  • 1. MobileAPI + CRM – using application related .xml files to build part of an automation framework TSIMAFEI AVILIN JANUARY 30, 2016
  • 2. • Tsimafei Avilin • 9+ years in IT - 3 years in Functional Testing, 6+ years in Automation Testing • Test automation optimization, Test automation frameworks, Test Automation strategy • Test Automation, Test Frameworks, Resource Management, QTP, TestComplete, WebDriver, API testing, .NET Automation, etc. ABOUT ME
  • 5. 5CONFIDENTIAL CRM + Mobile example CRM Mobile • FetchXML is a proprietary query language that is used in Microsoft Dynamics CRM Online 2016 Update and Microsoft Dynamics CRM 2016 (on-premises). It’s based on a schema that describes the capabilities of the language. The FetchXML language supports similar query capabilities as query expressions. In addition, it’s used as a serialized form of query, used to save a query as a user-owned saved view in the userquery entity and as an organization-owned saved view in the savedquery entity. link
  • 6. 6CONFIDENTIAL Simple test scenario TC: Get all companies • Login • Verify all companies passed from the server • Verify all companies have correct data
  • 8. 8CONFIDENTIAL Getting actual and expected data in TAF
  • 9. 9CONFIDENTIAL Company object Company object has many properties, how do you decide which properties to use to: - create fetchXML; - parse response; - Compare actual and expected data; - How to store properties? DB HTML (response from mobile API)
  • 11. 11CONFIDENTIAL Approach #1 : Kick and Get (KAG) Role 1 Role 2
  • 12. 12CONFIDENTIAL Approach #2 : Cry and Get (CAG) Role 1 Role 2
  • 13. 13CONFIDENTIAL Approach# 3: Think and Get (TAG) тельняшка?
  • 17. 17CONFIDENTIAL Reading xml files Both MobileAdapter and TAF read xml files located on the server independently
  • 18. 18CONFIDENTIAL Get view and object data Views xml files Entities xml files
  • 19. 19CONFIDENTIAL Using it in your TAF public static string[] GetUniqueXRMPropertiesByListView(EntityType ID, string listview) { var controls = GetAllControls(listview); var ignoreprop = GetIgnoreInCRMQueryProperties(ID); var props = controls.Where(c => ignoreprop.Contains(c.Property) != true) .Select(c => c.Property) .Distinct() .ToArray(); return props; } [DllImport("advapi32.DLL", SetLastError = true)] public static extern int LogonUser(string lpszUsername, string lpszDomain, string lpszPassword, int dwLogonType, int dwLogonProvider, ref IntPtr phToken); public void CreateRecentFile(XDocument xDoc, string fileName) { IntPtr admin_token = default(IntPtr); WindowsIdentity wid_current = WindowsIdentity.GetCurrent(); WindowsIdentity wid_admin = null; WindowsImpersonationContext wic = null; try {
  • 21. 21CONFIDENTIAL fetchXML files examples You can check XML file contains information about • search • aggregate • filtering/sorting • whatever you have in xml to be under test…
  • 22. 22CONFIDENTIAL • NOT NEED TO THINK ABOUT PROPERTIES CHANGES • SIMPLE PARSING OF XML FILES • SET OF PROPERTIES IS GENERATED ON FLY CONS PROS PROS AND CONS • DIFFICULT TO UNDERSTAND THIS APPROACH • CROSS DOMAIN ISSUES • DO YOU HAVE SOMETHING TO ADD?.. You even can control set of properties in xml file by creating kind of ‘template’ set And hence improve performance by removing unnecessary properties from dev. xml;
  • 23. 23CONFIDENTIAL Thank you for your attention! Questions? Благодарствую-с за оказаные почести, судари и барышни!

Editor's Notes

  • #3: P37 – divide into 2 slides