Benjamin Bischoff presents on simplifying test runs with Make. He discusses how Make is a proven build automation tool that has been used for decades. While new tools can be tempting, Make offers benefits like flexibility, consistency across environments, and simplicity. Bischoff demonstrates how to structure a basic Makefile to build targets in sequence and handle dependencies between files. He also provides a real-world example of using Make to run Selenium tests across different browsers and devices.
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsMichael Lihs
In diesem Talk beschreibe ich die Continuous Integartion Pipeline von punkt.de und deren Entstehen. Es wird motiviert, warum es sich lohnt, eine solche Pipeline zu implementieren und welche Tools wir dafür verwendet haben. Neben der Beschreibung von Git, Jenkins, Chef, Vagrant, Behat und Surf geht es auch um Integration der einzelnen Tools in eine Deployment Kette.
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Michael Lihs
Presentation about open source tools to set up continuous integration and continuous deployment. Covers Git, Gitlab, Chef, Vagrant, Jenkins, Gatling, Dashing, TYPO3 Surf and some other tools. Shows some best practices for testing with Behat and Functional Testing.
Open Source Development
Building your own Custom Firefox (or LibreOffice/OpenOffice)
from the Nightly or Developer Source Code
GIT / Mercurial (code sharing / version control)
What's new in HTML5 and JavaScript 2015
ECMAScript 2015 (ES6)
const, class, let, for of, function*, import
Great Android apps only include what's needed to achieve the goals of the product, not enhance the resume of the developer. What’s more, the more maintainable an application is, the more likely it will have increased user satisfaction and decreased time to market.
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsMichael Lihs
In diesem Talk beschreibe ich die Continuous Integartion Pipeline von punkt.de und deren Entstehen. Es wird motiviert, warum es sich lohnt, eine solche Pipeline zu implementieren und welche Tools wir dafür verwendet haben. Neben der Beschreibung von Git, Jenkins, Chef, Vagrant, Behat und Surf geht es auch um Integration der einzelnen Tools in eine Deployment Kette.
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Michael Lihs
Presentation about open source tools to set up continuous integration and continuous deployment. Covers Git, Gitlab, Chef, Vagrant, Jenkins, Gatling, Dashing, TYPO3 Surf and some other tools. Shows some best practices for testing with Behat and Functional Testing.
Open Source Development
Building your own Custom Firefox (or LibreOffice/OpenOffice)
from the Nightly or Developer Source Code
GIT / Mercurial (code sharing / version control)
What's new in HTML5 and JavaScript 2015
ECMAScript 2015 (ES6)
const, class, let, for of, function*, import
Great Android apps only include what's needed to achieve the goals of the product, not enhance the resume of the developer. What’s more, the more maintainable an application is, the more likely it will have increased user satisfaction and decreased time to market.
This is about encouraging our audience about known good practices. let them introduced why continuous feature development is essential and why that adds value over following rigid processes.
In recent years there has been a tremendous amount of progress and innovation around tools and applications available to web developers that improve the quality, efficiency and speed of our applications, and it is hard to keep up with all of it.
When to use Serverless? When to use Kubernetes?Niklas Heidloff
Slides of a session that I have given/will give at various developer conferences in H1 2018.
Niklas Heidloff
http://twitter.com/nheidloff
http://heidloff.net
Summary Article
http://heidloff.net/article/when-to-use-serverless-kubernetes
OpenWhisk
https://openwhisk.apache.org
https://github.com/ibm-functions/composer
https://github.com/nheidloff/openwhisk-debug-nodejs
Kubernetes
https://kubernetes.io
https://istio.io
IBM Cloud
http://ibm.biz/nheidloff
Abstract
There is a lot of debate whether to use Serverless or Kubernetes to build cloud-native apps. Both have their advantages and unique capabilities which developers should take into consideration when planning new projects. We will throw some light on the topics ease of use, maturity, types of scenarios, developer productivity and debugging, supported languages, DevOps and monitoring, performance, community and pricing. Cloud-native architectures shift the complexity from within an application to orchestrations of Microservices. Both Kubernetes and Serverless have their strengths which we will discuss. Besides the core development topics, developers should also understand operational aspects how complicated it is to maintain your own systems versus using managed platforms.
Lean engineering for lean/balanced teams: lessons learned (and still learning...Balanced Team
Bill Scott, PayPal
How do you take a gigantic organization and begin to transform the products? One key is to change the way teams work together to build experiences by following a Lean UX methodology. However, essential to this is to have engineering fully onboard as an integrated partner in the process. In this talk, Bill Scott will share 6 principles gleaned from the last two years to transforming engineering and the technology stack to support this working model.
Compliance Automation with InSpec - Chef NYC Meetup - April 2017adamleff
Presented at the Chef NYC meetup on April 20, 2017, this presentation reviews how to automate compliance scanning and reporting with InSpec by Chef and wrapped up with a hands-on workshop.
What happens when smart developers build sites automatically? Explore webhooks to automate building web sites with modern development techniques. Do you want to learn how to build your own IT doc system? Record your network configurations, infrastructure docs, or collaborate on a wiki - all programmatically. Continuous deployment (CD) lets you build the docs on another system and then place the files where the web server can serve them. CD can include both the building of the HTML files as well as deploying them to a host. Continuous deployment and automation is game-changing for web sites. You can get free or super inexpensive hosting, make sure that all your pull requests build correctly, and make gorgeous web sites, all with automated builds. These services manage setting up the web server, certificates, and domain set up so you can focus on writing down your docs. Webhooks are a mechanism for triggering an event based on a change in a repository. That repository can contain documentation, configuration files, even runbooks that you can link to from the docs pages. You can choose from different services that provide webhooks to build your site automatically.
The Job DSL Plugin: Introduction & What’s NewDaniel Spilker
Learn how to practice configuration as code by using the Job DSL plugin for Jenkins. Find out how to organize Job DSL scripts and apply code reuse and refactoring to your Jenkins configuration. This talk will cover advanced techniques for large scale installations and show how to extend the Job DSL for your favorite plugins.
Comment améliorer le quotidien des Développeurs PHP ?AFUP_Limoges
Conférence présentée lors du summer meetup de l'AFUP à Limoges le 19 juin 2018. Son objectif est de présenter plusieurs outils permettant de gagner rapidement en efficacité au quotidien.
World Internet Developer Summit 2016 - Keynote 2
DevOps represents a transformational shift in the way the software industry produces and delivers software. While the benefits are many, the road to DevOps for an established organization can be a long one filled with surprises and challenges. Microsoft’s Developer Division, has been on a multi-year journey to become more agile and accelerate from shipping once every two years to shipping multiple times per year in a true DevOps fashion. This session will provide insights into the changes and investments made along the way, demonstrations of how the team makes use of Visual Studio Team Services to manage their software development projects, and practical lessons you can apply to your own team’s journey.
This is about encouraging our audience about known good practices. let them introduced why continuous feature development is essential and why that adds value over following rigid processes.
In recent years there has been a tremendous amount of progress and innovation around tools and applications available to web developers that improve the quality, efficiency and speed of our applications, and it is hard to keep up with all of it.
When to use Serverless? When to use Kubernetes?Niklas Heidloff
Slides of a session that I have given/will give at various developer conferences in H1 2018.
Niklas Heidloff
http://twitter.com/nheidloff
http://heidloff.net
Summary Article
http://heidloff.net/article/when-to-use-serverless-kubernetes
OpenWhisk
https://openwhisk.apache.org
https://github.com/ibm-functions/composer
https://github.com/nheidloff/openwhisk-debug-nodejs
Kubernetes
https://kubernetes.io
https://istio.io
IBM Cloud
http://ibm.biz/nheidloff
Abstract
There is a lot of debate whether to use Serverless or Kubernetes to build cloud-native apps. Both have their advantages and unique capabilities which developers should take into consideration when planning new projects. We will throw some light on the topics ease of use, maturity, types of scenarios, developer productivity and debugging, supported languages, DevOps and monitoring, performance, community and pricing. Cloud-native architectures shift the complexity from within an application to orchestrations of Microservices. Both Kubernetes and Serverless have their strengths which we will discuss. Besides the core development topics, developers should also understand operational aspects how complicated it is to maintain your own systems versus using managed platforms.
Lean engineering for lean/balanced teams: lessons learned (and still learning...Balanced Team
Bill Scott, PayPal
How do you take a gigantic organization and begin to transform the products? One key is to change the way teams work together to build experiences by following a Lean UX methodology. However, essential to this is to have engineering fully onboard as an integrated partner in the process. In this talk, Bill Scott will share 6 principles gleaned from the last two years to transforming engineering and the technology stack to support this working model.
Compliance Automation with InSpec - Chef NYC Meetup - April 2017adamleff
Presented at the Chef NYC meetup on April 20, 2017, this presentation reviews how to automate compliance scanning and reporting with InSpec by Chef and wrapped up with a hands-on workshop.
What happens when smart developers build sites automatically? Explore webhooks to automate building web sites with modern development techniques. Do you want to learn how to build your own IT doc system? Record your network configurations, infrastructure docs, or collaborate on a wiki - all programmatically. Continuous deployment (CD) lets you build the docs on another system and then place the files where the web server can serve them. CD can include both the building of the HTML files as well as deploying them to a host. Continuous deployment and automation is game-changing for web sites. You can get free or super inexpensive hosting, make sure that all your pull requests build correctly, and make gorgeous web sites, all with automated builds. These services manage setting up the web server, certificates, and domain set up so you can focus on writing down your docs. Webhooks are a mechanism for triggering an event based on a change in a repository. That repository can contain documentation, configuration files, even runbooks that you can link to from the docs pages. You can choose from different services that provide webhooks to build your site automatically.
The Job DSL Plugin: Introduction & What’s NewDaniel Spilker
Learn how to practice configuration as code by using the Job DSL plugin for Jenkins. Find out how to organize Job DSL scripts and apply code reuse and refactoring to your Jenkins configuration. This talk will cover advanced techniques for large scale installations and show how to extend the Job DSL for your favorite plugins.
Comment améliorer le quotidien des Développeurs PHP ?AFUP_Limoges
Conférence présentée lors du summer meetup de l'AFUP à Limoges le 19 juin 2018. Son objectif est de présenter plusieurs outils permettant de gagner rapidement en efficacité au quotidien.
World Internet Developer Summit 2016 - Keynote 2
DevOps represents a transformational shift in the way the software industry produces and delivers software. While the benefits are many, the road to DevOps for an established organization can be a long one filled with surprises and challenges. Microsoft’s Developer Division, has been on a multi-year journey to become more agile and accelerate from shipping once every two years to shipping multiple times per year in a true DevOps fashion. This session will provide insights into the changes and investments made along the way, demonstrations of how the team makes use of Visual Studio Team Services to manage their software development projects, and practical lessons you can apply to your own team’s journey.
Similar to Simplifying your test runs with „Make“ (20)
Of plugins and decorators - trivago's e2e test framework in the spotlightBenjamin Bischoff
Most often, test frameworks are developed from scratch and gradually extended with the required functionality. This approach is perfectly normal, but carries the risk of creeping technical debt as well as poor maintainability, transparency and extensibility. These risks can be minimized by using clean software architecture.
In this talk for Selenium Conference 2022, I will present two key parts of our internal Selenium-based end-to-end testing framework, which has been successfully used to test multiple web projects using desktop and mobile browsers during the past five years:
the plugin infrastructure using Java's Service Provider Interface
the custom WebElement decorator that enables more resilient Selenium WebElements
I will explain the rationale for using these architectural tools and how these approaches mean that we can still evolve this framework quickly and easily to meet new needs.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
2. Benjamin Bischo
ff
• Test Automation Engineer
• 7 years of SDET experience
• ~ 22 years in IT overall
• 6 years at trivago N.V.
About me
@bischo
ff
dev
3. Credits
“Make
fi
les in 2019 - Why They Still Matter”
Simon Brüggen
trivago Tech Blog
2019
“Das nützlich-unbedenklich Spektrum”
(“The useful harmless spectrum“)
Felix von Leitner,
2019
@bischo
ff
dev
5. „Architect of destruction“
Barney Stinson:
“I’m gonna give you four words to live by:
new is always better! [...]”
Ted Mosby:
“And this theory applies to everything?”
Barney Stinson:
“Everything.”
@bischo
ff
dev
9. The "New is always better" dilemma
• Familiarity
Getting comfortable with new solutions takes time.
• Maturity
New software can have
fl
aws and unwanted dependencies.
• Management
Management may view a proof of concept as close to
fi
nal.
• Tractor Factor
A single developer can be the only one in the know.
@bischo
ff
dev
10. If you learn a new tool,
you want to use it.
@bischo
ff
dev
11. The Psychology of Science, Abraham Maslow, 1966
„[...] I suppose it is tempting, if the only tool you
have is a hammer, to treat everything as if it were a
nail.“
@bischo
ff
dev
13. Make (software), Wikipedia
„[...] Make is applicable to any process that involves
executing arbitrary commands to transform a
source file to a target result.“
@bischo
ff
dev
14. Make
A few facts
• Invented by Stuart Feldman in 1976 at Bell Labs
• Initially a build automation tool for executable programs
• Built natively into Unix, Linux, MacOS
• Windows: Chocolatey, Cygwin, Make for Windows or WSL
@bischo
ff
dev
15. Make
Cons
• Can be hard to master
• Dependent on tabs and spaces
• Bugs can be tricky to
fi
gure out
@bischo
ff
dev
16. Make
Pros
• Basically available everywhere
• Proven solution
• Consistent across local and CI builds
• Easy to learn
• Very
fl
exible
• Never out of sync with documentation
@bischo
ff
dev
18. Makefile
Naming and invocation
• make is the name of the tool
• It looks for make
fi
le or Make
fi
le to run
• It returns a status of 0 if successful
make [ -f makefile ] [ options ] … [ targets ] ...
@bischo
ff
dev
19. Makefile
Rules
• A make rule typically creates (and checks) a target
fi
le
• It is mostly dependent on timestamps
• It can also be the name of an action without a target
fi
le
@bischo
ff
dev
20. Makefile
Recipes
• A recipe is an action that make invokes
• Can be one or multiple commands
• Careful: each line has to be started with a tab!
@bischo
ff
dev
40. Makefile
Tip: help
# Show this help.
help:
@awk '/^#/{c=substr($$0,3);next}c&&/^[[:alpha:]]
[[:alnum:]_-]+:/{print substr($$1,1,index($
$1,":")),c}1{c=0}' $(MAKEFILE_LIST) | column -s: -t
# Test project.
test:
@echo "This would start a test"
.PHONY: help test
@bischo
ff
dev
43. Stuart Feldman, „The Art of Unix Programming“, Eric S. Raymond, 2003
„[...] Makefiles were text files, not magically encoded
binaries, because that was the Unix ethos:
printable, debuggable, understandable stuff.“
@bischo
ff
dev
45. Real world example
Selenium tests with Maven invocation
mvn verify -e -B -DargLine=-Dfile.encoding=UTF-8 -Dproject=„${PROJECT_NAME}”
-Dwebdriver.driver="${browserName}” -Dwebdriver.driver.version="${browserVersion}”
-Dtrupi.browser.resolution="${BROWSER_RESOLUTION}" -Dwebdriver.base.url="${BASE_URL}"
-Dtrupi.feature="${FEATURES}" -Dcustom.activated.ctests=„${CTESTS}" -Dwebdriver.hub.url="${HUB_URL}"
-Dparallel.fork.count=„${PARALLEL_RUNS}" -Dcucable.test.runs.count="${TEST_RUNS}"
-Dinclude.scenario.tags=„${INCLUDE_TAGS}" -Dtrupi.restart.browser="${RESTART_BROWSER}"
-Dtrupi.webdriver.wait=„${WEBDRIVER_WAIT}" -Dtrupi.pageload.wait="${PAGELOAD_WAIT}"
-Dtrupi.pageload.retries="${PAGELOAD_RETRIES}" -Dtrupi.kafka.enabled="${KAFKA_LOGGING_ENABLED}"
-Dtrupi.kafka.label="${KAFKA_LABEL}" -Dtrupi.logging="${LOG_MODE}"
-Dtrupi.plugin.rerun.detector.rules.file=„${RERUN_RULES_LOCATION}“ -
Dtrupi.plugin.browserstack.capabilityset.enabled=„${PLUGIN_BROWSERSTACK_ENABLED}“ -
Dtrupi.plugin.browserstack.capabilityset.browserstack.local=„${BROWSERSTACK_LOCAL}"
-Dtrupi.plugin.browserstack.capabilityset.device=„${deviceName}"
-Dtrupi.plugin.browserstack.capabilityset.realMobile="${isRealDevice}"
-Dtrupi.plugin.browserstack.capabilityset.os=„${osName}"
-Dtrupi.plugin.browserstack.capabilityset.os_version="${osVersion}"
-Dtrupi.plugin.browserstack.failurepost.enabled="${PLUGIN_BROWSERSTACK_ENABLED}"
-Dtrupi.plugin.selenoid.capabilities.enabled="${PLUGIN_SELENOID_ENABLED}"
@bischo
ff
dev
46. Real world example
Selenium tests with Make invocation
make test-local
BASE_URL=https://www.trivago.com
BROWSERS="chrome"
@bischo
ff
dev
47. Real world example
Selenium tests with Make invocation
make test-grid
BASE_URL=https://www.trivago.com
BROWSERS="chrome"
@bischo
ff
dev
48. Real world example
Selenium tests with Make invocation
make test-grid
BASE_URL=https://www.trivago.com
BROWSERS="chrome, firefox"
DEVICES="Samsung Galaxy"
FEATURES="src/test/resources/features/Search.feature"
@bischo
ff
dev
49. Real world example
Invocation in a GitHub action
- name: Run tests
id: runUiTests
working-directory: ./tests
run: >
make test-grid
BASE_URL="${{ github.event.inputs.baseUrl }}"
BROWSERS="${{ steps.setBrowser.outputs.browserString }}"
FEATURES="${{ github.event.inputs.features }}"
@bischo
ff
dev
51. Just
A few facts
• Heavily inspired by make
• It is only a command runner (no .Phony needed)
• Runs on Linux, MacOS and Windows
• Needs to be installed on the host system/container
@bischo
ff
dev
52. Justfile
Rule & Recipe
myRecipe: someDependency
@echo "Hello from Just"
someDependency:
@echo "I am a dependency"
@bischo
ff
dev
60. „Architect of destruction“
Barney Stinson:
“I’m gonna give you four words to live by:
new is always better! […]”
Ted Mosby:
“And this theory applies to everything?”
Barney Stinson:
“Everything.”
@bischo
ff
dev
Original version
61. „Architect of destruction“
Revised version
Barney Stinson:
“I’m gonna give you
fi
ve words to live by:
new is not always better! [...]”
Ted Mosby:
“I agree!”
@bischo
ff
dev