SlideShare ist ein Scribd-Unternehmen logo
1 von 78
Introduction to SOAPUI 
ANY QUESTIONS?? 
1
Introduction to SOAPUI 
MORE ABOUT ASSERTIONS 
2
3
Xpath Functions 
4
Adding Assertions 
• CONTAINS/NOT CONTAINS 
• SOAP/Non SOAP Reqest 
• SOAP fault/non-SOAP fault 
• Response SLA 
• Xpath/Xquery match 
• Script 
• Security status 
• JMS status and timeouts 
5
CONTAINS/Not CONTAINS 
• Contains checks for the existence of some 
text in the received response or request 
message 
• Not Contains - Searches for the non-existence 
of a string token in the property value, 
supports regular expressions. Applicable to 
any property. 
6
7
Adding Assertions to Test Step 
• In the response, we want to verify a successful 
response 
8
Automatically Populates 
9
Can also select for Content 
matching RegEx 
10
Exists 
11
Prepopulates XPath 
12
SOAP/non SOAP response 
13
SOAP fault/non-SOAP fault 
14
Response SLA 
15
XPath/XQuery match 
16
Prepopulates 
17
Exercise 
• Let’s go back to the GetBibDataWSDL and 
using the GetAllBibDataInformation 
Operation, add the following assertions in the 
response: 
• CONTAINS an application number 
• Valid SOAP request 
• No SOAP Fault 
• Response SLA < 5 sec 
• Xpath match on all of the authors (hint – use 
the string-join function) 18
Script 
19
Security Status 
20
What information is sensitive? 
21
Global Tokens 
22
WS Addressing/Status 
23
JMS status & Timeouts 
• Similar to the SLA Assertions 
24
Multiple Content Assertions 
25
Lots of Assertions! 
• Just for the first step: 
What if we wanted to repeat these for multiple 
steps? 
26
Assertions at the Test Case Level 
27
Grouping Assertions 
• Assertions in a Test Step can be grouped 
28 
AND: all Assertions valid = PASS 
OR: at least one valid Assertion = PASS
Exercise 
• Create a Test Suite For the REST service for 
CUSTOMERS 
• Add a data source with customer numbers 1- 
10 and a data loop 
• Add an assertion step that contains an 
assertion for 
– No SOAP fault 
– SLA of .5 sec 
– Customer name exists 
29
Web Services with Attachments 
• Often times web services have attachments 
associated with them 
– Files (images) 
– cookies 
30
Send in Form 
31
For the TMNG_CMS project 
32
Exercise 
• Using TMNG_CMS project create a new Test 
Suite 
• Use the image file provided 
• Use the copy of the updated payload as 
provided 
• Create a request that contains the image to be 
uploaded 
33
Exercise (cnt) 
• Create an excel data source that has the file 
names for the image 
• Set up a property for the serial number 
• Set up a test case that creates the image and 
then updates it 
• Verify that the version of the image is 
incremented on the update 
• Use a datasink to capture the image version 
34
Run Test Case Test Step 
35
Let’s Get Groovy 
• Groovy Programming Language 
• Exercise – writing groovy scripts 
• Refactoring 
• Exercise – refactoring wsdl 
• Web Services with attachments 
• Exercise – configure and test web service with attachment
Groovy Programming Language 
• Language Overview 
• Flow control 
• SoapUI object model 
• Dynamic test management 
• Writing logic to verify scripts
Language Overview 
• Groovy is the scripting language used in 
SoapUI for controlling tests 
• Groovy is also a programming language that 
can run stand-alone in a java environment 
– Contains some data structures similar to java 
• Lists (like java arrays) 
• Maps 
38
Control structures 
• Logic branches 
• Looping 
• If else 
39
Groovy Script Usage 
• Groovy Script TestStep in a TestCase 
• Before and after running a TestCase or 
TestSuite to initialize or cleanup 
• Starting/Stopping MockService 
• Initialize/Cleanup Project level 
• Dynamic DataSource or DataSync 
• Creating dynamic MockResponse content 
• Adding Script Assertions 
40
Script Editors - Tabs 
41
Script Editor – Test Suite 
42
Script Editor - TestCase 
43
Script Editor – Test Step 
44
Get & Set Properties 
• // get properties from testCase, testSuite and project 
• def testCaseProperty = testRunner.testCase.getPropertyValue( "MyProp" ) 
• def testSuiteProperty = testRunner.testCase.testSuite.getPropertyValue("MyProp" ) 
• def projectProperty = testRunner.testCase.testSuite.project.getPropertyValue( 
"MyProp" ) 
• def globalProperty = 
com.eviware.soapui.SoapUI.globalProperties.getPropertyValue( "MyProp" ) 
• // setting values 
• testRunner.testCase.setPropertyValue("MyProp", someValue ) 
testRunner.testCase.testSuite.setPropertyValue( "MyProp", someValue ) 
testRunner.testCase.testSuite.project.setPropertyValue( "MyProp", 
someValue ) 
com.eviware.soapui.SoapUI.globalProperties.setPropertyValue( "MyProp", 
someValue ) 
45
Get & Set Settings 
• import com.eviware.soapui.settings.SSLSettings 
• import com.eviware.soapui.SoapUI 
• // set SoapUI.settings.setString( SSLSettings.KEYSTORE, pathToKeystore ) 
SoapUI.settings.setString( SSLSettings.KEYSTORE_PASSWORD, 
keystorePassword ) 
• // get SoapUI.settings.getString( SSLSettings.KEYSTORE, "value to return if 
there is no such setting set" ) 
46
Useful info 
• Access project name 
• testRunner.testCase.testSuite.project.name 
• Access test step name 
• context.getCurrentStep().getLabel() 
47
Data Source 
48
Data Sync 
49
Saving Test Step Results 
50
Groovy Step 
You can add a Groovy step by right clicking on a test 
step and selecting “Insert Step” followed by “Groovy 
Script” or by opening the TestCase and clicking on the 
star icon. 
51
Incrementing a Property 
Here’s how to increment a property called PatentNum. 
• Get the TestCase Property (as a “BigDecimal”) 
• Increment the value 
• Set the value back into the property 
def old = context.testCase.getPropertyValue(“PatentNum") as BigDecimal; 
def new = (old+ 1) as String; 
context.testCase.setPropertyValue( “PatentNum", new ); 
Notice how the setPropertyValue differs from the 
getPropertyValue 
52
Groovy Exercise 
In this exercise we will: 
• Set up a Test Case property 
• Read a number in from a text file 
• Transfer the number to a property 
• Execute a request using the property 
• Increment the property 
• Store the property back to the text file 
53
Assertion with Script 
54
Auto-Generates Script 
55
Change to get all nodes 
56
GroovyUtils 
57
xmlHolder Methods 
58
XQuery 
59
Navigation 
• // means keep going down levels 
• / means go down one level 
60
Max or Min 
61
Count 
62
ANDs/ORs 
63
Useful XPath Functions 
64
WSDL Refactoring 
65
Connect Old & New 
• Sometimes the operation names change 
66
Map Nodes per Operation 
• You also have the chance to manually edit 
67
XPath Mapping 
68
Organizing your projects 
• Setting up a workspace 
69
Import Projects 
• Import projects into the Workspace 
• Easily Switch between 
workspaces 
70
Workspaces 
• Can only have one workspace open at a time 
• Same project can be in two workspaces 
• Can have multiple projects loaded into 
workspace 
• Can’t have separate projects and workspaces 
loaded at the same time 
71
Environments 
• Another way to help manage your projects is 
to set up environments on the Project level 
72
Organizing your projects 
• Setting up a workspace 
73
Import Projects 
• Import projects into the Workspace 
• Easily Switch between 
workspaces 
74
Workspaces 
• Can only have one workspace open at a time 
• Same project can be in two workspaces 
• Can have multiple projects loaded into 
workspace 
• Can’t have separate projects and workspaces 
loaded at the same time 
75
Environments 
• Another way to help manage your projects is 
to set up environments on the Project level 
76
Add Name 
77
Change environment specifics 
78

Weitere ähnliche Inhalte

Was ist angesagt?

Exactpro Systems for KSTU Students in Kostroma
Exactpro Systems for KSTU Students in KostromaExactpro Systems for KSTU Students in Kostroma
Exactpro Systems for KSTU Students in KostromaIosif Itkin
 
Example of TAF with batch execution of test cases
 Example of TAF with batch execution of test cases  Example of TAF with batch execution of test cases
Example of TAF with batch execution of test cases COMAQA.BY
 
Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)Andrey Oleynik
 
Automation solution using jbehave, selenium and hudson
Automation solution using jbehave, selenium and hudsonAutomation solution using jbehave, selenium and hudson
Automation solution using jbehave, selenium and hudsonPankaj Nakhat
 
Setting Up CircleCI Workflows for Your Salesforce Apps
Setting Up CircleCI Workflows for Your Salesforce AppsSetting Up CircleCI Workflows for Your Salesforce Apps
Setting Up CircleCI Workflows for Your Salesforce AppsDaniel Stange
 
Behavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile TestingBehavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile Testingdversaci
 
Parallel run selenium tests in a good way
Parallel run selenium tests in a good  wayParallel run selenium tests in a good  way
Parallel run selenium tests in a good wayCOMAQA.BY
 
BDD with JBehave and Selenium
BDD with JBehave and SeleniumBDD with JBehave and Selenium
BDD with JBehave and SeleniumNikolay Vasilev
 
Build, Test and Extend Integrated Workflows 3.7
Build, Test and Extend Integrated Workflows 3.7Build, Test and Extend Integrated Workflows 3.7
Build, Test and Extend Integrated Workflows 3.7StephenKardian
 
Better Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component PatternBetter Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component PatternSQALab
 
Delivery Pipeline for Windows Machines
Delivery Pipeline for Windows MachinesDelivery Pipeline for Windows Machines
Delivery Pipeline for Windows MachinesDmitry Buzdin
 

Was ist angesagt? (20)

Jbehave selenium
Jbehave seleniumJbehave selenium
Jbehave selenium
 
Exactpro Systems for KSTU Students in Kostroma
Exactpro Systems for KSTU Students in KostromaExactpro Systems for KSTU Students in Kostroma
Exactpro Systems for KSTU Students in Kostroma
 
Testing Angular
Testing AngularTesting Angular
Testing Angular
 
Example of TAF with batch execution of test cases
 Example of TAF with batch execution of test cases  Example of TAF with batch execution of test cases
Example of TAF with batch execution of test cases
 
Unit testing - A&BP CC
Unit testing - A&BP CCUnit testing - A&BP CC
Unit testing - A&BP CC
 
Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)
 
PP_Eric_Gandt
PP_Eric_GandtPP_Eric_Gandt
PP_Eric_Gandt
 
Automation solution using jbehave, selenium and hudson
Automation solution using jbehave, selenium and hudsonAutomation solution using jbehave, selenium and hudson
Automation solution using jbehave, selenium and hudson
 
Setting Up CircleCI Workflows for Your Salesforce Apps
Setting Up CircleCI Workflows for Your Salesforce AppsSetting Up CircleCI Workflows for Your Salesforce Apps
Setting Up CircleCI Workflows for Your Salesforce Apps
 
Governor limits
Governor limitsGovernor limits
Governor limits
 
OLT open script
OLT open script OLT open script
OLT open script
 
Behavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile TestingBehavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile Testing
 
Parallel run selenium tests in a good way
Parallel run selenium tests in a good  wayParallel run selenium tests in a good  way
Parallel run selenium tests in a good way
 
Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle Ope...
Real-World Load Testing of ADF Fusion Applications Demonstrated  - Oracle Ope...Real-World Load Testing of ADF Fusion Applications Demonstrated  - Oracle Ope...
Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle Ope...
 
BDD with JBehave and Selenium
BDD with JBehave and SeleniumBDD with JBehave and Selenium
BDD with JBehave and Selenium
 
Build, Test and Extend Integrated Workflows 3.7
Build, Test and Extend Integrated Workflows 3.7Build, Test and Extend Integrated Workflows 3.7
Build, Test and Extend Integrated Workflows 3.7
 
Better Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component PatternBetter Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component Pattern
 
Delivery Pipeline for Windows Machines
Delivery Pipeline for Windows MachinesDelivery Pipeline for Windows Machines
Delivery Pipeline for Windows Machines
 
introduction v4
introduction v4introduction v4
introduction v4
 
Behavior Driven Development Testing (BDD)
Behavior Driven Development Testing (BDD)Behavior Driven Development Testing (BDD)
Behavior Driven Development Testing (BDD)
 

Andere mochten auch

Web Service Workshop - 3 days
Web Service Workshop - 3 daysWeb Service Workshop - 3 days
Web Service Workshop - 3 daysDavid Ionut
 
Informatica interview questions by H2kInfosys
Informatica interview questions by H2kInfosysInformatica interview questions by H2kInfosys
Informatica interview questions by H2kInfosysH2kInfosys
 
Performance test Automation User Manual
Performance test Automation User ManualPerformance test Automation User Manual
Performance test Automation User ManualMikhael Gelezov
 
Spss base users guide160
Spss base users guide160Spss base users guide160
Spss base users guide160odkoo
 
Mobile requirements
Mobile requirementsMobile requirements
Mobile requirementsH2kInfosys
 
Mobile form Validation Rules
Mobile form Validation RulesMobile form Validation Rules
Mobile form Validation RulesH2kInfosys
 
Основы нагрузочного тестирования с инструментом Jmeter
Основы нагрузочного тестирования с инструментом JmeterОсновы нагрузочного тестирования с инструментом Jmeter
Основы нагрузочного тестирования с инструментом JmeterКомпьютерная школа Hillel
 
Claims Test Case | Health Care Domain
Claims Test Case | Health Care DomainClaims Test Case | Health Care Domain
Claims Test Case | Health Care DomainH2kInfosys
 
Project 2 | Health Care Domain
Project 2 | Health Care DomainProject 2 | Health Care Domain
Project 2 | Health Care DomainH2kInfosys
 

Andere mochten auch (14)

Eiken: Catalogue Services
Eiken: Catalogue Services Eiken: Catalogue Services
Eiken: Catalogue Services
 
Web Service Workshop - 3 days
Web Service Workshop - 3 daysWeb Service Workshop - 3 days
Web Service Workshop - 3 days
 
Informatica interview questions by H2kInfosys
Informatica interview questions by H2kInfosysInformatica interview questions by H2kInfosys
Informatica interview questions by H2kInfosys
 
Performance test Automation User Manual
Performance test Automation User ManualPerformance test Automation User Manual
Performance test Automation User Manual
 
Spss base users guide160
Spss base users guide160Spss base users guide160
Spss base users guide160
 
Mobile requirements
Mobile requirementsMobile requirements
Mobile requirements
 
Mobile form Validation Rules
Mobile form Validation RulesMobile form Validation Rules
Mobile form Validation Rules
 
Основы нагрузочного тестирования с инструментом Jmeter
Основы нагрузочного тестирования с инструментом JmeterОсновы нагрузочного тестирования с инструментом Jmeter
Основы нагрузочного тестирования с инструментом Jmeter
 
SAS Internal Training
SAS Internal TrainingSAS Internal Training
SAS Internal Training
 
Load testing with J meter
Load testing with J meterLoad testing with J meter
Load testing with J meter
 
Basics of SAS
Basics of SASBasics of SAS
Basics of SAS
 
Oracle: PLSQL Introduction
Oracle: PLSQL IntroductionOracle: PLSQL Introduction
Oracle: PLSQL Introduction
 
Claims Test Case | Health Care Domain
Claims Test Case | Health Care DomainClaims Test Case | Health Care Domain
Claims Test Case | Health Care Domain
 
Project 2 | Health Care Domain
Project 2 | Health Care DomainProject 2 | Health Care Domain
Project 2 | Health Care Domain
 

Ähnlich wie Introduction to SoapUI day 4-5

QuerySurge for DevOps
QuerySurge for DevOpsQuerySurge for DevOps
QuerySurge for DevOpsRTTS
 
Test Driven Development with JavaFX
Test Driven Development with JavaFXTest Driven Development with JavaFX
Test Driven Development with JavaFXHendrik Ebbers
 
Building a Continuous Delivery Pipeline With Visual Studio
Building a Continuous Delivery Pipeline With Visual StudioBuilding a Continuous Delivery Pipeline With Visual Studio
Building a Continuous Delivery Pipeline With Visual StudioKasun Kodagoda
 
Soap UI - Lesson3
Soap UI - Lesson3Soap UI - Lesson3
Soap UI - Lesson3Qualitest
 
Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)sKaushikNarayanan
 
Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)MvkZ
 
Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)sKaushikNarayanan
 
Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)MvkZ
 
Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)sKaushikNarayanan
 
Web Services Automated Testing via SoapUI Tool
Web Services Automated Testing via SoapUI ToolWeb Services Automated Testing via SoapUI Tool
Web Services Automated Testing via SoapUI ToolSperasoft
 
New types of tests for Java projects
New types of tests for Java projectsNew types of tests for Java projects
New types of tests for Java projectsVincent Massol
 
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...seleniumconf
 
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan KuštInfinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan KuštInfinum
 
Automated Testing Environment by Bugzilla, Testopia and Jenkins
Automated Testing Environment by Bugzilla, Testopia and JenkinsAutomated Testing Environment by Bugzilla, Testopia and Jenkins
Automated Testing Environment by Bugzilla, Testopia and Jenkinswalkerchang
 
QASymphony Atlanta Customer User Group Fall 2017
QASymphony Atlanta Customer User Group Fall 2017QASymphony Atlanta Customer User Group Fall 2017
QASymphony Atlanta Customer User Group Fall 2017QASymphony
 
New types of tests for Java projects
New types of tests for Java projectsNew types of tests for Java projects
New types of tests for Java projectsVincent Massol
 

Ähnlich wie Introduction to SoapUI day 4-5 (20)

QuerySurge for DevOps
QuerySurge for DevOpsQuerySurge for DevOps
QuerySurge for DevOps
 
Test Driven Development with JavaFX
Test Driven Development with JavaFXTest Driven Development with JavaFX
Test Driven Development with JavaFX
 
Building a Continuous Delivery Pipeline With Visual Studio
Building a Continuous Delivery Pipeline With Visual StudioBuilding a Continuous Delivery Pipeline With Visual Studio
Building a Continuous Delivery Pipeline With Visual Studio
 
Soap UI - Lesson3
Soap UI - Lesson3Soap UI - Lesson3
Soap UI - Lesson3
 
Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)
 
Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)
 
Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)
 
Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)
 
Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)
 
Web Services Automated Testing via SoapUI Tool
Web Services Automated Testing via SoapUI ToolWeb Services Automated Testing via SoapUI Tool
Web Services Automated Testing via SoapUI Tool
 
End_to_End_DevOps.pptx
End_to_End_DevOps.pptxEnd_to_End_DevOps.pptx
End_to_End_DevOps.pptx
 
New types of tests for Java projects
New types of tests for Java projectsNew types of tests for Java projects
New types of tests for Java projects
 
Chef Cookbook Workflow
Chef Cookbook WorkflowChef Cookbook Workflow
Chef Cookbook Workflow
 
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
 
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan KuštInfinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
 
Automated Testing Environment by Bugzilla, Testopia and Jenkins
Automated Testing Environment by Bugzilla, Testopia and JenkinsAutomated Testing Environment by Bugzilla, Testopia and Jenkins
Automated Testing Environment by Bugzilla, Testopia and Jenkins
 
Bug zillatestopiajenkins
Bug zillatestopiajenkinsBug zillatestopiajenkins
Bug zillatestopiajenkins
 
QASymphony Atlanta Customer User Group Fall 2017
QASymphony Atlanta Customer User Group Fall 2017QASymphony Atlanta Customer User Group Fall 2017
QASymphony Atlanta Customer User Group Fall 2017
 
Advanced Java Testing
Advanced Java TestingAdvanced Java Testing
Advanced Java Testing
 
New types of tests for Java projects
New types of tests for Java projectsNew types of tests for Java projects
New types of tests for Java projects
 

Mehr von Qualitest

10 must do’s for perfect customer experience (Cx) -Qualitest
10 must do’s for perfect customer experience (Cx) -Qualitest10 must do’s for perfect customer experience (Cx) -Qualitest
10 must do’s for perfect customer experience (Cx) -QualitestQualitest
 
Don’t Let Missed Bugs Cause Mayhem in your Organization!
Don’t Let Missed Bugs Cause Mayhem in your Organization!Don’t Let Missed Bugs Cause Mayhem in your Organization!
Don’t Let Missed Bugs Cause Mayhem in your Organization!Qualitest
 
DevOps and Groupthink An Oxymoron?
DevOps and Groupthink An Oxymoron?DevOps and Groupthink An Oxymoron?
DevOps and Groupthink An Oxymoron?Qualitest
 
Google SLS Outsourcing by Jeffrey Roth
Google SLS Outsourcing by Jeffrey RothGoogle SLS Outsourcing by Jeffrey Roth
Google SLS Outsourcing by Jeffrey RothQualitest
 
Successful Offshore Practices by Ofer Glanz
Successful Offshore Practices by Ofer GlanzSuccessful Offshore Practices by Ofer Glanz
Successful Offshore Practices by Ofer GlanzQualitest
 
Pricing Models by Michel Sharvit
Pricing Models by Michel SharvitPricing Models by Michel Sharvit
Pricing Models by Michel SharvitQualitest
 
5 keys to success at MTS by Tzahi Falkovich
5 keys to success at MTS by Tzahi Falkovich5 keys to success at MTS by Tzahi Falkovich
5 keys to success at MTS by Tzahi FalkovichQualitest
 
The Journey of QualiTest by Ayal Zylberman
The Journey of QualiTest by Ayal ZylbermanThe Journey of QualiTest by Ayal Zylberman
The Journey of QualiTest by Ayal ZylbermanQualitest
 
Designing for the internet - Page Objects for the Real World
Designing for the internet - Page Objects for the Real WorldDesigning for the internet - Page Objects for the Real World
Designing for the internet - Page Objects for the Real WorldQualitest
 
DevSecOps - It can change your life (cycle)
DevSecOps - It can change your life (cycle)DevSecOps - It can change your life (cycle)
DevSecOps - It can change your life (cycle)Qualitest
 
IoT Quality Challenges - Testing & Engineering
IoT Quality Challenges - Testing & EngineeringIoT Quality Challenges - Testing & Engineering
IoT Quality Challenges - Testing & EngineeringQualitest
 
Webinar: How to get localization and testing for medical devices done right
Webinar: How to get localization and testing for medical devices done right Webinar: How to get localization and testing for medical devices done right
Webinar: How to get localization and testing for medical devices done right Qualitest
 
Webinar: DevOps challenges facing QA
Webinar: DevOps challenges facing QAWebinar: DevOps challenges facing QA
Webinar: DevOps challenges facing QAQualitest
 
Root Cause Analysis | QualiTest Group
Root Cause Analysis | QualiTest GroupRoot Cause Analysis | QualiTest Group
Root Cause Analysis | QualiTest GroupQualitest
 
Testing for a Great App and Web Experience | QualiTest Group
Testing for a Great App and Web Experience | QualiTest GroupTesting for a Great App and Web Experience | QualiTest Group
Testing for a Great App and Web Experience | QualiTest GroupQualitest
 
Killing the Myths of Outsourced Software Testing
Killing the Myths of Outsourced Software TestingKilling the Myths of Outsourced Software Testing
Killing the Myths of Outsourced Software TestingQualitest
 
Why do we need a Scrum Master?
Why do we need a Scrum Master?Why do we need a Scrum Master?
Why do we need a Scrum Master?Qualitest
 
How to Test Big Data Systems | QualiTest Group
How to Test Big Data Systems | QualiTest GroupHow to Test Big Data Systems | QualiTest Group
How to Test Big Data Systems | QualiTest GroupQualitest
 
The changing role of a QA | QualiTest Group
The changing role of a QA | QualiTest GroupThe changing role of a QA | QualiTest Group
The changing role of a QA | QualiTest GroupQualitest
 

Mehr von Qualitest (20)

10 must do’s for perfect customer experience (Cx) -Qualitest
10 must do’s for perfect customer experience (Cx) -Qualitest10 must do’s for perfect customer experience (Cx) -Qualitest
10 must do’s for perfect customer experience (Cx) -Qualitest
 
Don’t Let Missed Bugs Cause Mayhem in your Organization!
Don’t Let Missed Bugs Cause Mayhem in your Organization!Don’t Let Missed Bugs Cause Mayhem in your Organization!
Don’t Let Missed Bugs Cause Mayhem in your Organization!
 
DevOps and Groupthink An Oxymoron?
DevOps and Groupthink An Oxymoron?DevOps and Groupthink An Oxymoron?
DevOps and Groupthink An Oxymoron?
 
Google SLS Outsourcing by Jeffrey Roth
Google SLS Outsourcing by Jeffrey RothGoogle SLS Outsourcing by Jeffrey Roth
Google SLS Outsourcing by Jeffrey Roth
 
Successful Offshore Practices by Ofer Glanz
Successful Offshore Practices by Ofer GlanzSuccessful Offshore Practices by Ofer Glanz
Successful Offshore Practices by Ofer Glanz
 
Pricing Models by Michel Sharvit
Pricing Models by Michel SharvitPricing Models by Michel Sharvit
Pricing Models by Michel Sharvit
 
5 keys to success at MTS by Tzahi Falkovich
5 keys to success at MTS by Tzahi Falkovich5 keys to success at MTS by Tzahi Falkovich
5 keys to success at MTS by Tzahi Falkovich
 
The Journey of QualiTest by Ayal Zylberman
The Journey of QualiTest by Ayal ZylbermanThe Journey of QualiTest by Ayal Zylberman
The Journey of QualiTest by Ayal Zylberman
 
Designing for the internet - Page Objects for the Real World
Designing for the internet - Page Objects for the Real WorldDesigning for the internet - Page Objects for the Real World
Designing for the internet - Page Objects for the Real World
 
DevSecOps - It can change your life (cycle)
DevSecOps - It can change your life (cycle)DevSecOps - It can change your life (cycle)
DevSecOps - It can change your life (cycle)
 
IoT Quality Challenges - Testing & Engineering
IoT Quality Challenges - Testing & EngineeringIoT Quality Challenges - Testing & Engineering
IoT Quality Challenges - Testing & Engineering
 
Webinar: How to get localization and testing for medical devices done right
Webinar: How to get localization and testing for medical devices done right Webinar: How to get localization and testing for medical devices done right
Webinar: How to get localization and testing for medical devices done right
 
Webinar: DevOps challenges facing QA
Webinar: DevOps challenges facing QAWebinar: DevOps challenges facing QA
Webinar: DevOps challenges facing QA
 
Root Cause Analysis | QualiTest Group
Root Cause Analysis | QualiTest GroupRoot Cause Analysis | QualiTest Group
Root Cause Analysis | QualiTest Group
 
Testing for a Great App and Web Experience | QualiTest Group
Testing for a Great App and Web Experience | QualiTest GroupTesting for a Great App and Web Experience | QualiTest Group
Testing for a Great App and Web Experience | QualiTest Group
 
DevOps 101
DevOps 101 DevOps 101
DevOps 101
 
Killing the Myths of Outsourced Software Testing
Killing the Myths of Outsourced Software TestingKilling the Myths of Outsourced Software Testing
Killing the Myths of Outsourced Software Testing
 
Why do we need a Scrum Master?
Why do we need a Scrum Master?Why do we need a Scrum Master?
Why do we need a Scrum Master?
 
How to Test Big Data Systems | QualiTest Group
How to Test Big Data Systems | QualiTest GroupHow to Test Big Data Systems | QualiTest Group
How to Test Big Data Systems | QualiTest Group
 
The changing role of a QA | QualiTest Group
The changing role of a QA | QualiTest GroupThe changing role of a QA | QualiTest Group
The changing role of a QA | QualiTest Group
 

Kürzlich hochgeladen

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 

Kürzlich hochgeladen (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Introduction to SoapUI day 4-5

  • 1. Introduction to SOAPUI ANY QUESTIONS?? 1
  • 2. Introduction to SOAPUI MORE ABOUT ASSERTIONS 2
  • 3. 3
  • 5. Adding Assertions • CONTAINS/NOT CONTAINS • SOAP/Non SOAP Reqest • SOAP fault/non-SOAP fault • Response SLA • Xpath/Xquery match • Script • Security status • JMS status and timeouts 5
  • 6. CONTAINS/Not CONTAINS • Contains checks for the existence of some text in the received response or request message • Not Contains - Searches for the non-existence of a string token in the property value, supports regular expressions. Applicable to any property. 6
  • 7. 7
  • 8. Adding Assertions to Test Step • In the response, we want to verify a successful response 8
  • 10. Can also select for Content matching RegEx 10
  • 18. Exercise • Let’s go back to the GetBibDataWSDL and using the GetAllBibDataInformation Operation, add the following assertions in the response: • CONTAINS an application number • Valid SOAP request • No SOAP Fault • Response SLA < 5 sec • Xpath match on all of the authors (hint – use the string-join function) 18
  • 21. What information is sensitive? 21
  • 24. JMS status & Timeouts • Similar to the SLA Assertions 24
  • 26. Lots of Assertions! • Just for the first step: What if we wanted to repeat these for multiple steps? 26
  • 27. Assertions at the Test Case Level 27
  • 28. Grouping Assertions • Assertions in a Test Step can be grouped 28 AND: all Assertions valid = PASS OR: at least one valid Assertion = PASS
  • 29. Exercise • Create a Test Suite For the REST service for CUSTOMERS • Add a data source with customer numbers 1- 10 and a data loop • Add an assertion step that contains an assertion for – No SOAP fault – SLA of .5 sec – Customer name exists 29
  • 30. Web Services with Attachments • Often times web services have attachments associated with them – Files (images) – cookies 30
  • 32. For the TMNG_CMS project 32
  • 33. Exercise • Using TMNG_CMS project create a new Test Suite • Use the image file provided • Use the copy of the updated payload as provided • Create a request that contains the image to be uploaded 33
  • 34. Exercise (cnt) • Create an excel data source that has the file names for the image • Set up a property for the serial number • Set up a test case that creates the image and then updates it • Verify that the version of the image is incremented on the update • Use a datasink to capture the image version 34
  • 35. Run Test Case Test Step 35
  • 36. Let’s Get Groovy • Groovy Programming Language • Exercise – writing groovy scripts • Refactoring • Exercise – refactoring wsdl • Web Services with attachments • Exercise – configure and test web service with attachment
  • 37. Groovy Programming Language • Language Overview • Flow control • SoapUI object model • Dynamic test management • Writing logic to verify scripts
  • 38. Language Overview • Groovy is the scripting language used in SoapUI for controlling tests • Groovy is also a programming language that can run stand-alone in a java environment – Contains some data structures similar to java • Lists (like java arrays) • Maps 38
  • 39. Control structures • Logic branches • Looping • If else 39
  • 40. Groovy Script Usage • Groovy Script TestStep in a TestCase • Before and after running a TestCase or TestSuite to initialize or cleanup • Starting/Stopping MockService • Initialize/Cleanup Project level • Dynamic DataSource or DataSync • Creating dynamic MockResponse content • Adding Script Assertions 40
  • 41. Script Editors - Tabs 41
  • 42. Script Editor – Test Suite 42
  • 43. Script Editor - TestCase 43
  • 44. Script Editor – Test Step 44
  • 45. Get & Set Properties • // get properties from testCase, testSuite and project • def testCaseProperty = testRunner.testCase.getPropertyValue( "MyProp" ) • def testSuiteProperty = testRunner.testCase.testSuite.getPropertyValue("MyProp" ) • def projectProperty = testRunner.testCase.testSuite.project.getPropertyValue( "MyProp" ) • def globalProperty = com.eviware.soapui.SoapUI.globalProperties.getPropertyValue( "MyProp" ) • // setting values • testRunner.testCase.setPropertyValue("MyProp", someValue ) testRunner.testCase.testSuite.setPropertyValue( "MyProp", someValue ) testRunner.testCase.testSuite.project.setPropertyValue( "MyProp", someValue ) com.eviware.soapui.SoapUI.globalProperties.setPropertyValue( "MyProp", someValue ) 45
  • 46. Get & Set Settings • import com.eviware.soapui.settings.SSLSettings • import com.eviware.soapui.SoapUI • // set SoapUI.settings.setString( SSLSettings.KEYSTORE, pathToKeystore ) SoapUI.settings.setString( SSLSettings.KEYSTORE_PASSWORD, keystorePassword ) • // get SoapUI.settings.getString( SSLSettings.KEYSTORE, "value to return if there is no such setting set" ) 46
  • 47. Useful info • Access project name • testRunner.testCase.testSuite.project.name • Access test step name • context.getCurrentStep().getLabel() 47
  • 50. Saving Test Step Results 50
  • 51. Groovy Step You can add a Groovy step by right clicking on a test step and selecting “Insert Step” followed by “Groovy Script” or by opening the TestCase and clicking on the star icon. 51
  • 52. Incrementing a Property Here’s how to increment a property called PatentNum. • Get the TestCase Property (as a “BigDecimal”) • Increment the value • Set the value back into the property def old = context.testCase.getPropertyValue(“PatentNum") as BigDecimal; def new = (old+ 1) as String; context.testCase.setPropertyValue( “PatentNum", new ); Notice how the setPropertyValue differs from the getPropertyValue 52
  • 53. Groovy Exercise In this exercise we will: • Set up a Test Case property • Read a number in from a text file • Transfer the number to a property • Execute a request using the property • Increment the property • Store the property back to the text file 53
  • 56. Change to get all nodes 56
  • 60. Navigation • // means keep going down levels • / means go down one level 60
  • 66. Connect Old & New • Sometimes the operation names change 66
  • 67. Map Nodes per Operation • You also have the chance to manually edit 67
  • 69. Organizing your projects • Setting up a workspace 69
  • 70. Import Projects • Import projects into the Workspace • Easily Switch between workspaces 70
  • 71. Workspaces • Can only have one workspace open at a time • Same project can be in two workspaces • Can have multiple projects loaded into workspace • Can’t have separate projects and workspaces loaded at the same time 71
  • 72. Environments • Another way to help manage your projects is to set up environments on the Project level 72
  • 73. Organizing your projects • Setting up a workspace 73
  • 74. Import Projects • Import projects into the Workspace • Easily Switch between workspaces 74
  • 75. Workspaces • Can only have one workspace open at a time • Same project can be in two workspaces • Can have multiple projects loaded into workspace • Can’t have separate projects and workspaces loaded at the same time 75
  • 76. Environments • Another way to help manage your projects is to set up environments on the Project level 76

Hinweis der Redaktion

  1. When updating a WSDL, the underlying contract changes may require changes to all messages related to a certain modification, for example if an element has been renamed or moved. Also, XPath expressions in assertions, property transfers and expansions, etc. may need to be updated to correctly reference updated elements. Right-click on the wsdl definition and select refactor definition. Always, always create a back up before you overwrite everything
  2. Click next after mapping all of the nodes and then review and accept any changes to the XPath
  3.  all visible projects are part of the current workspace. You can add as many projects as you want to a workspace, but can also easily switch between different workspaces allowing you to have different testing setups (for different systems, clients, etc), It can also help manage different releases for the same project. Select File > New Workspace and then enter a name