Watch a live presentation at http://offer.bitbar.com/getting-started-with-xctest-and-xcuitest-for-ios-app-testing
XCTest has been part of Xcode for few years already, but it is finally catching up and more developers are getting on the bandwagon. XCTest and XCUITest provide feature-rich capabilities for iOS developers and test automation folks to implement different levels of tests using Xcode features and supported programming languages, Objective-C and Swift.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
28th July 2016 iOS Dev Scout Meetup @ Propertyguru
Presentation on
- XCUITest: how to easily setup and run XCUITests
- Gherkin: how to setup Gherkin for your XCUITests
Ship quality mobile apps with speed [Webinar]BrowserStack
In the world of agile, the need to ship apps faster has never been more apparent. This translates into shorter release and test cycles.
Learn how to speed up your test and release cycles through BrowserStack.
Key takeaways include:
Best practices on mobile app testing automation
How to decide which devices to test on
How to simulate real-world user scenarios
28th July 2016 iOS Dev Scout Meetup @ Propertyguru
Presentation on
- XCUITest: how to easily setup and run XCUITests
- Gherkin: how to setup Gherkin for your XCUITests
Ship quality mobile apps with speed [Webinar]BrowserStack
In the world of agile, the need to ship apps faster has never been more apparent. This translates into shorter release and test cycles.
Learn how to speed up your test and release cycles through BrowserStack.
Key takeaways include:
Best practices on mobile app testing automation
How to decide which devices to test on
How to simulate real-world user scenarios
This is a good opportunity for those who want to learn Selenium and wondering where to start from. This presentation covers the topics related to Selenium IDE and locators. This would help in understanding the more complex Selenium Webdriver that will be taken up in next session.
In this session, we will introduce you to the concept of unit testing and how we can add new features to our application without breaking anything. We will see how we can add unit test cases for each of our components and the importance of it.
An automated testing tool by SmartBear – TestComplete is a comprehensive product with umpteen features and capabilities to make it one of the most liked testing tools encompassing a variety of applications like Desktop, Mobile Web and RIA with technologies like .NET, Java and more.
Visit: http://softwaretestingsolution.com/ to get a free POC of our services.
Selenium 4 with Simon Stewart [Webinar]BrowserStack
BrowserStack hosted Simon Stewart, creator of WebDriver and core-contributor to the Selenium project for a webinar on the 18th of June. Simon spoke about Selenium 4, the upcoming Selenium upgrade.
Simon covered various topics like the philosophy behind the upgrade and what it means for the QA community. Here's the webinar, along with the transcript.
(** Selenium Training:
https://www.edureka.co/testing-with-selenium-webdriver **)
This Edureka PPT on Xpath Tutorial talks about Xpath fundamentals and steps involved in writing a Xpath Script. It also gives a brief idea on types of Xpath, Xpath Functions along with an example.
Following topics are covered in this tutorial:
Introduction to Xpath
XML DocumentX
Xpath Syntax
Types of Xpath
Xpath Functions
Selenium playlist: https://goo.gl/NmuzXE
"Learn All Aspects Of Appium step by step, Enhance your skills & Launch Your Career, On-Demand Course affordable price & classes on virtually every topic.Try Before You Buy
for maven online training visit: https://goo.gl/YKsHBZ"
This is an introduction to BDD and the Gherkin syntax. It aims to explain:
* What's Gherkin. Why it's used. An example of all the keywords in Gherkin
* How Gherkin fits into BDD (features files, writing tests first etc)
by John Burry, Principal Mobile Solutions Architect, AWS
You shouldn’t neglect testing when releasing a production mobile app. In this session, we’ll talk about how to test your mobile app and what you should be testing. We will walk through the process of producing a UI test and then run it on a fleet of devices.
Using Selenium for Automated testing - basic level: short introduction into the selectors and basic methods used in writing a simple script with Selenium Webdriver.
XCUITest for iOS App Testing and how to test with XcodepCloudy
pCloudy is the most powerful cloud based App Testing Platform. It has the the most comprehensive set of Mobile Devices and Tools to Improve Quality of your App.
pCloudy provides single click access to 500+ Android and IOS devices directly from your browser. You can use these real Mobile Devices to click-and-perform Manual Testing and Automation Testing for your App. You can also Integrate pCloudy with CI for continuous Automation.
This is a good opportunity for those who want to learn Selenium and wondering where to start from. This presentation covers the topics related to Selenium IDE and locators. This would help in understanding the more complex Selenium Webdriver that will be taken up in next session.
In this session, we will introduce you to the concept of unit testing and how we can add new features to our application without breaking anything. We will see how we can add unit test cases for each of our components and the importance of it.
An automated testing tool by SmartBear – TestComplete is a comprehensive product with umpteen features and capabilities to make it one of the most liked testing tools encompassing a variety of applications like Desktop, Mobile Web and RIA with technologies like .NET, Java and more.
Visit: http://softwaretestingsolution.com/ to get a free POC of our services.
Selenium 4 with Simon Stewart [Webinar]BrowserStack
BrowserStack hosted Simon Stewart, creator of WebDriver and core-contributor to the Selenium project for a webinar on the 18th of June. Simon spoke about Selenium 4, the upcoming Selenium upgrade.
Simon covered various topics like the philosophy behind the upgrade and what it means for the QA community. Here's the webinar, along with the transcript.
(** Selenium Training:
https://www.edureka.co/testing-with-selenium-webdriver **)
This Edureka PPT on Xpath Tutorial talks about Xpath fundamentals and steps involved in writing a Xpath Script. It also gives a brief idea on types of Xpath, Xpath Functions along with an example.
Following topics are covered in this tutorial:
Introduction to Xpath
XML DocumentX
Xpath Syntax
Types of Xpath
Xpath Functions
Selenium playlist: https://goo.gl/NmuzXE
"Learn All Aspects Of Appium step by step, Enhance your skills & Launch Your Career, On-Demand Course affordable price & classes on virtually every topic.Try Before You Buy
for maven online training visit: https://goo.gl/YKsHBZ"
This is an introduction to BDD and the Gherkin syntax. It aims to explain:
* What's Gherkin. Why it's used. An example of all the keywords in Gherkin
* How Gherkin fits into BDD (features files, writing tests first etc)
by John Burry, Principal Mobile Solutions Architect, AWS
You shouldn’t neglect testing when releasing a production mobile app. In this session, we’ll talk about how to test your mobile app and what you should be testing. We will walk through the process of producing a UI test and then run it on a fleet of devices.
Using Selenium for Automated testing - basic level: short introduction into the selectors and basic methods used in writing a simple script with Selenium Webdriver.
XCUITest for iOS App Testing and how to test with XcodepCloudy
pCloudy is the most powerful cloud based App Testing Platform. It has the the most comprehensive set of Mobile Devices and Tools to Improve Quality of your App.
pCloudy provides single click access to 500+ Android and IOS devices directly from your browser. You can use these real Mobile Devices to click-and-perform Manual Testing and Automation Testing for your App. You can also Integrate pCloudy with CI for continuous Automation.
Brief explanation on mobile applications, specific mobile applications testing considerations. Suggestions on when to do automation for your project, and share some commonly used mobile application automation test frameworks and tools.
Containers are an amazing technology that are revolutionising how we deploy and create applications. Docker and Kubernetes are helping developers and organisations realise the magical potential that container technology and orchestration offer. Enter MicroShed and the Testcontainers framework enabling local test automation that leverages that magical portability containers offer. In this session we'll explore how Testcontainers can help you run and test with true-to-production environments in development with minimal re-writing of your test code.
JLove - Replicating production on your laptop using the magic of containersGrace Jansen
Containers are an amazing technology that are revolutionising how we deploy and create applications. Docker and Kubernetes are helping developers and organisations realise the magical potential that container technology and orchestration offer. Enter MicroShed and the Testcontainers framework enabling local test automation that leverages that magical portability containers offer. In this session we'll explore how Testcontainers can help you run and test with true-to-production environments in development with minimal re-writing of your test code.
Shai Raiten's talk at the SELA Developer Practice (May 2013) about Advanced Coded UI using Visual Studio 2012. This presentation explain how to work with multiple UI maps, how to use various types of data sources, how to use LINQ and Reflection for project refactoring, and how to create and use logs and traces.
Fashionable XCUITest for iOS Apps by Shashikant JagtapSauce Labs
In this SauceCon 2019 presentation, Shashikant Jagtap discussed how to use a protocol-oriented approach to architect XCUITests that can be scaled easily within iOS CI/CD pipelines. He provides an introduction to XCUITest, covers XCUITest features with Xcode 10, and provides tips for writing CI-friendly XCUITests. e.g Stubs, Accessibility Identifiers, Real Device Tests, Xcode scheme strategy for UI Tests etc.
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...Bitbar
We co-hosted a webinar with Neotys to shed some lights on
- How to overcome the challenges in mobile app performance and functional testing
- How to gain granular and actionable insights to measure and improve your app user experience
- Best practices to get the mobile readiness for 2017 Holiday Shopping Season
- A brief demo of the integration between Neoload and Bitbar Testing
Mobile performance metrics and performance monitoring meetup 2017 05 10Bitbar
Bitbar hosted a local meetup in Helsinki where we discussed mobile performance metrics, performance testing/monitoring and using production data to optimize testing.
Exercising and Scaling Up Mobile DevOps in the EnterpriseBitbar
Adopting the mobile devops culture, processes and practices in any organization may not happen overnight. The transformation from agile to true mobile devops requires identification of inefficiencies and understanding of how process, practice and infrastructure can be scaled up.
Stay tuned and join our upcoming webinars at bitbar.com/testing/webinars/
Hassle-Free Continuous Integration with Real Device TestingBitbar
Watch a live presentation at http://offer.bitbar.com/hassle-free-continuous-integration-combined-with-a-real-device-testing
Thousands of mobile apps are developed and released every day. The fierce competition for attention of end-users has changed the way mobile developers build and test their apps – and how they utilize today’s mobile devops tools to gain advantage of productivity, effectiveness and speed.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
Best Practices for DevOps in Mobile App TestingBitbar
Watch a live presentation at http://offer.bitbar.com/best-practices-for-devops-in-mobile-app-testing
In essence, the core of DevOps methodology aims to speed up the app development delivery and process by getting devs and operation specialists to collaborate throughout the end-to-end app development and deployment process.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
Ensure Your Mobile Channels Generate Revenue on Holiday Peak DaysBitbar
Watch a live presentation at http://offer.bitbar.com/ensure-your-mobile-channels-generate-revenue-on-holiday-peak-days
Are you – and especially your mobile apps and web channels – ready to make the most of the upcoming holiday season? Being unplugged few minutes or mobile app not being able to deliver means instant loss in revenue. To succeed in this critical time of the year, ‘Sorry, not available’ is not an option for a second during that hectic 6 weeks.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
How to Reliably Measure and Optimize Graphics Performance of Your Android GamesBitbar
Watch a live presentation at http://offer.bitbar.com/measure-and-optimize-graphics-performance-of-android-games
Good graphics performance is closely related to fantastic user experience. That’s why we’ve integrated the unique GameBench profiling tool into Testdroid Cloud. This is a powerful resource for any developer who wants to spot performance bottlenecks and optimize their games across an array of Android devices with different silicon, screen sizes, memory, and many other variances in software and hardware.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on WebinarBitbar
Watch a live presentation at http://offer.bitbar.com/parallel-test-runs-with-appium-on-real-mobile-devices
Appium is an open source test automation framework and currently one of the hottest framework for mobile app, game and web testing. In this webinar, we’ll discuss about the best practices, how to use Appium for different types of apps, games and web apps, and how to use all new features around it – the parallel test runs, image recognition and more!
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
The Powerful and Comprehensive API for Mobile App Development and TestingBitbar
Watch a live presentation at http://offer.bitbar.com/the-powerful-and-comprehensive-api-for-mobile-app-development-and-testing
Testdroid provides a very powerful and useful API for its users to manage all aspects of mobile development and testing automatically. This powerful API caters your needs to instantly access our device farm, manage your projects, your test runs and results, plus many other things that will make your mobile app, game and web testing smoother, faster and less stressful on real Android and iOS devices.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
Which One Works You The Best: In-House or Cloud-Based Development EnvironmentBitbar
Watch a live presentation at http://offer.bitbar.com/which-one-works-you-the-best-in-house-or-cloud-based-development-environment
The best and the most suitable development environment whether it is a full in-house solution with your own devices, servers and other infrastructure – or development infrastructure environment fully hosted for you, depends on various aspects.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
Watch a live presentation at http://offer.bitbar.com/learn-the-best-practices-of-mobile-game-testing
To get the best start for your mobile game - or just to improve the existing game's possibility to get in front of hundreds of millions of gamers - we'll be sharing our insights, best practices and lots of tips&tricks how to gain advantage in this race.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
Build a Large Scale In-House Test Lab for Mobile AppsBitbar
Watch a live presentation at http://offer.bitbar.com/build-a-large-scale-in-house-test-lab-for-mobile-apps
Mobile app development relies on agile methodology pretty well. This means companies building their apps and game for Android and iOS are heavily using agile methods in their daily doings, but also in technology that enables them to do daily builds and enable instant testing as part of the development. This webinar focus on in-house test labs and explains how this sort of environment can be built.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
The Status of Android Hardware and Software - From App Developer's Point of ViewBitbar
Watch a live presentation at http://offer.bitbar.com/the-status-of-android-hardware-and-software-from-app-developers-point-of-view
During the Q1’2014, we conducted a major research where we gathered and analyzed data of executed test runs at Testdroid Cloud. There were over 5.4M tests, 100K+ test cases, and 232-269 real Android devices used during three months. This webinar will focus on results, both from hardware and software point of view - and how app developers need to deal with those issues.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
Do You Enjoy Espresso in Android App Testing?Bitbar
Watch a live presentation at http://offer.bitbar.com/do-you-enjoy-espresso-in-android-app-testing
Majority of us love coffee but let's put that aside and focus on Espresso - by Google. This exciting new test automation framework just got open sourced and is available for app developers and testers to hammer their app UIs. Espresso has a small, predictable and easy to learn API - built on top of Android Instrumentation Framework - and you can very quickly write concise and reliable Android UI tests with it.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
Testing Your Android and iOS Apps with Appium in Testdroid CloudBitbar
Testdroid Cloud is now fully supported with Appium, an open source test automation framework for use with native and hybrid mobile apps.
This slide deck was used on the presentation at Appium Meetup by Jouko Kaasila, Co-founder and COO at Bitbar. You will get an overview of how you can leverage Appium in your mobile app testing within Testdroid Cloud.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
How to Leverage Appium in Your Mobile App TestingBitbar
Watch a live presentation at http://offer.bitbar.com/how-to-leverage-appium-in-your-mobile-app-testing
Appium is an open source test automation framework for use with native and hybrid mobile apps. Appium is built on the idea that testing native apps shouldn't require including an SDK or recompiling your app. Appium also enables you to use your preferred test practices, frameworks, and tools.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
How to Test Security and Vulnerability of Your Android and iOS AppsBitbar
Watch a live presentation at http://offer.bitbar.com/how-to-test-security-and-vulnerability-of-your-android-and-ios-apps
Majority of today’s mobile apps consist of third-party code/libraries. This is a prudent and well-accepted development practice that offloads the task of developing code for non-core functions of your mobile app – or game. Identifying third-party code, its vulnerabilities and its license restrictions, is highly critical in order to understand your security exposure and your liability.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
Different Android Test Automation Frameworks - What Works You the Best?Bitbar
Watch a live presentation at http://offer.bitbar.com/different-android-testing-frameworks-what-works-you-the-best
Implementing the test automation as part of your daily activities can provide you an enormous value: coverage to detect bugs and errors, early and later during the development, reducing the costs of failure, save time through its repeatability and earlier verification. Today, there are bunch of different options available for testing frameworks on Android – what would work the best for you?
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
Maximize the Benefits from Your Test Automation InvestmentBitbar
Watch a live presentation at http://offer.bitbar.com/maximize-the-benefits-from-your-test-automation-investment
Test automation can actually turn your development to super agile, enable you to start making revenue sooner, improve the overall quality of your applications and process. This new, superior way of development and testing can make you very cost-effective, increase significantly your developer productivity and speed up time-to-market.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
2. XCTest&XCUITest
• The State of The Art in iOS App Testing
– Frameworks, Tools & Methods
• The Basics of XCTest & XCUITest –
And How to Get Started
• Alternative iOS Test Automation
Frameworks – Pros and Cons of Each
• Demonstration
• Q&A
Agenda
http://bitbar.com/testing/
More informationabout test
automation frameworks for iOS:
bitbar.com/testing/
3. PublicCloud
• Device ‘Cloud’ built for internal testing use
• Enterprise-grade testing infrastructure hosted by the
customer
• Usually sits behind customer firewall and connects to
preproduction environments
• Private Device Cloud
• Reserved and Dedicated devices
• Hosted and Fully Managed by Bitbar
• Devices chosen by and reserved exclusively for
customer
• Also known as Testdroid Cloud
• On-demand devices (multi-tenant)
• Mobile App testing on over 1000+ real Android and
iOS devices hosted by Bitbar
Private Cloud
PRODUCT
UPDATE:
XCTest & XCUITest
Support Available On-Premise
XCTest/XCUITest Supported
4. • Integral framework in Xcode
• Not a new framework: Xcode 5
introduced the first version of XCTest
• Incrementally new
capabilities/features:
o Xcode 6 – performance measurement
o Xcode 7 – UI testing (XCUITest)
• Works with both Swift and Objective-C
XCTest &
XCUITest
What isXCTest/XCUITest?
5. • Easy to learn, no additional installations or
components required (to Xcode)
• Native iOS language support
• Xcode Test Recorder (for XCUITest)
• Integration with Xcode Server (continuous
integration) and Bots
• Faster than many other popular functional
(and cross-platform) test frameworks
• Works with both Swift and Objective-C
XCTest
Pros of XCTest
6. • No cross-platform support
• Limited programming language
support
• Selectors may seem complex
• Requires (always) a separate
test target
• Signing can be ‘tricky’
• Sometimes… well, flaky
XCTest
Cons of XCTest
8. • If you running a test script
built for prior Xcode
versions, all uia_* calls will
raise an error with the latest
Xcode
• When upgrading to Xcode 8
all your existing
UIAutomation scripts will fail
Deprecated
UI Automation
MigratingUIA-> XCTest?
9. The Basics of
XCTest & XCUITest
and
How to Get Started
New Ebook Available!
Download This Guide
10. • A test method is an instance
method of a test class that
begins with prefix “test”
• Tests are simply classes and
methods and e.g. @property
and helper methods can be
added to the class
XCTest &
XCUITest
Getting Started
-(void)testExample {
XCTAssert(...);
XCTAssertTrue(...);
XCTAssertFalse(...);
}
11. • Tests are grouped into
classes that are subclass
from XCTestCase
XCTest &
XCUITest
WritingTest Methods
class DemoTest: XCTestCase {
- (void)testExample {
// This is an example of a functional test case.
// Use XCTAssert and related functions
}
- (void)testPerformanceExample {
// This is an example of a performance test case.
[self measureBlock:^{
// Put the code you want to measure the time of here.
}];
}
}
12. XCTest &
XCUITest
XCTestCase Example - Swift
import UIKit
import XCTest
@testable import LocalizationDemo
class LocalizationDemoTests: XCTestCase {
override func setUp() {
super.setUp()
}
override func tearDown() {
super.tearDown()
}
func testMyModel() {
// Example of a functional test case.
var model = MyModel(name: "first", surname: "last");
XCTAssertEqual(model.a, "first");
XCTAssertNotEqual(model.b, "first");
}
func testIfLocalizationWorks() {
// This is an example of a functional test case.
XCTAssert(true, "Pass")
}
}
13. • A performance test takes a block of code
(that is measured) and runs it ten times,
collecting the average execution time and
the standard deviation for the runs
XCTest &
XCUITest
WritingPerformance Tests
- (void) testAdditionPerformance {
[self measureBlock:^{
// set the initial state
[calcViewController press:[calcView viewWithTag: 6]];
// iterate for 100000 cycles of adding 2
for (int i=0; i<100000; i++) {
[calcViewController press:[calcView
viewWithTag:13]];
[calcViewController press:[calcView viewWithTag:
2]];
[calcViewController press:[calcView
viewWithTag:12]];
}
}];
}
14. XCUIApplication
• The XCUIApplication is basically a
proxy for an app that can be launched
and terminated
• User can tell the application to run in
testing mode by defining app as a
“Target Application” in Xcode target
settings
Code Syntax (XCUITest)
// Objective-C
XCUIApplication *app = [[XCUIApplication alloc] init];
// Swift
let app = XCUIApplication()
15. XCUIElement
• XCUIElement is the
actual UI element in
an iOS application
• XCUIElement
provides all the basics
symbols and
functions for UI
element interactions
• Gestures with XCTest
include clicking UI
elements (normal,
double, pressing),
interacting with the
screen (swipe, pinch,
zoom, rotate etc.)
Code Syntax (XCUITest)
// Click-based functions
tap()
doubleTap()
twoFingerTap()
tap(withNumberOfTaps: UInt, numberOfTouches: UInt)
press(forDuration: TimeInterval)
press(forDuration: TimeInterval, thenDragTo: XCUIElement)
// Generic UI interactions
swipeLeft()
swipeRight()
swipeUp()
swipeDown()
pinch(withScale: CGFloat, velocity: CGFloat)
rotate(CGFloat, withVelocity: CGFloat)
16. XCUIElement
• XCUIElement is
constructed using
the actual user
interface elements
on the screen
• XCUIElement
inherits from
NSObject
• In order to perform
any interaction (tap
on this example) on
a UI element the UI
interactions are
available for use.
Code Syntax (XCUITest)
XCUIApplication *app = [[XCUIApplication alloc] init];
XCUIElement *masterNavigationBar =
app.navigationBars[@"Master"];
XCUIElement *editButton =
masterNavigationBar.buttons[@"Edit"];
// Objective-C
[masterNavigationBar.staticTexts[@"Master"] tap];
[editButton tap];
17. • Two ways to create IPA for
test automation
1. Working with Xcode
2. Working from Command Line
• Test package can be built as
APP file and zipped for
cloud execution
Preparing IPA and
Test Package for
Simultaneous
Device Runs
Methods to Create IPAand Test Package for
Simultaneous Tests
18. • By archiving any build package will
be compatible with an iOS device
• When your build is done and
archiving has finished, select the
build from Archive list and click
“Export…”
Working on
Xcode to Create
IPA for Testing
1. Archive Your Build
19. • When the following window is
shown, simply select “Save for Ad
Hoc Deployment” and click Next.
Working on
Xcode to Create
IPA for Testing
2. Select The Right Method
20. • Use the same identify what you use in
build settings for code signing.
• If your project and Xcode is properly
configured you should see the following
type of dialog proposing the first usable
identifier:
Working on
Xcode to Create
IPA for Testing
3. Identify Yourself(andYourBuild)
21. • It’s almost always recommended to include
all possible device support for your app.
• If you want to reduce the size of your IPA
you can shrink it by selecting to support only
certain devices and OS versions
Working on
Xcode to Create
IPA for Testing
4. Select OS and Devices
22. • This can be done Product -> Build
for -> Testing menu:
Working on
Command Line to
Create IPA for
Testing
1. Select toBuildfor Testing
23. • Next, select your project in Project
Navigator and right click to “Show it in
Finder”:
Working on
Command Line to
Create IPA for
Testing
2. Locate App Fileon HD
24. • After Finder dialog has been opened
and files are shown, just highlight the
.app file and right-click to see copying
option, as follows:
Working on
Command Line to
Create IPA for
Testing
3. Copy App FileProperly
25. • After Finder dialog has been opened
and files are shown, just highlight the
.app file and right-click to see copying
option, as follows:
Working on
Command Line to
Create IPA for
Testing
4. Create IPA from CMD
$ mkdir /tmp/Payload
$ cd /tmp/Payload
$ cp -r /User/Path/Debug-iphoneos/LocalizationDemo.app .
$ cd ..
$ zip --symlinks -qr "LocalizationDemo.ipa" Payload
$ ls -lrt LocalizationDemo.ipa
-rw-r--r-- 1 username staff 0 Dec 16 12:42 LocalizationDemo.ipa
26. • If building for iPhone 5 or iPhone 5C (with
ARMv7 32-bit processor) devices, additional
step is needed before creating the build.
• Starting from Xcode 7, armv7s is no more part
of the default $(ARCHS_STANDARD) and so
should be added as a target build architecture
Creating an IPA
for iOS App
Testing
Good To Know!
28. Top 3 iOS Test Automation Frameworks
XCTEST/XCUITEST APPIUM CALABASH
CROSS-PLATFORM No Yes Yes
IOS Yes Yes Yes
MOBILE WEB Yes Yes No
LANGUAGE Obj-C/Swift Almost any Ruby
TOOL FOR TEST
CREATION
Xcode Appium.app CLI
(Human-Readable syntax)
COMMUNITY Apple Community Community