Please click below to see the HTML version of this email.
http://shop.cvsphoto.com/r/C5NM3I2/ZQH86/3UGOJK/GKFE6AR/LZ82W/VT/t?a=C5NM3I2&b=G0LGV&c=RHCKT1J&d=7H023E&e=1&f=10f114cc5ebeea78aff4
****************************************************
CVS/pharmacy® Photo
****************************************************
FREE Same Day Pick Up. 12¢ 4x6 Prints, 30% Off Cards & More! >
http://shop.cvsphoto.com/r/C5NM3I2/ZQH86/3UGOJK/GKFE6AR/D8PB2/VT/t?a=C5NM3I2&b=G0LGV&c=RHCKT1J&d=7H023E&e=1&f=10f114cc5ebeea78aff4
****************************************************
Add 50 or more 4x6 Prints to your cart, enter promo code PRINTS12 and get your 50 or more 4x6 Prints for only 12¢ each. Offer valid online only promotion ends 1/5/13.
Add any Calendar(s) to your shopping cart, enter promo code CALENDAR20 and get 20% OFF your Canvas(es) order. Promotion ends 1/5/13.
Add 60 or more Cards to your shopping cart, enter promo code CARDS30 and get 30% OFF your Cards order. Offer valid online only. Promotion ends 1/5/13.
 Offer valid online only. Promotion ends 1/5/13.
You are receiving this email because you indicated you wanted to be informed of the latest news and specials from CVSphoto.com. If you prefer not to receive future emails from
CVSphoto.com, please unsubscribe below. Please note, if you have subscribed to receive other CVS email communications you will continue to receive them unless you unsubscribe specifically for those.
http://shop.cvsphoto.com/r/C5NM3I2/ZQH86/3UGOJK/GKFE6AR/6U930/VT/t?a=http://shop.cvsphoto.com/u/C5NM3I2/ZQH86/3UGOJK/GKFE6AR/Z8/aHVibGVlcGg2MDZAdHVtYmxyLmNvbQ==/
© Copyright 2013 CVSphoto.com
http://shop.cvsphoto.com/r/C5NM3I2/ZQH86/3UGOJK/GKFE6AR/1RDJG/VT/t?a=PhotoEM_123012
One CVS Drive, Woonsocket, RI 02895
[[C5NM3I2-G0LGV-ZQH86-3UGOJK-GKFE6AR-M-M2-20130104-3746830d4964e7b]]


The variable moneyVariable
is set to

The variable discountVariable
is set to


Here is a collection of all the projects I've made so far:
Circles upon circles
Source code
Spinning triangles
Source code


Match Window Reverse option doesn't work.
-
Oversearch
Hello! First things first - thank you for your work on this excellent plugin. It was hell getting ruby set up to work on all my machines (windows & linux), but well worth it.
I was reading through the command-t documentation and customizing things when I noticed the option "CommandTMatchWindowReverse" which, from the way I'm reading it, is supposed to reverse the order of the results so that the best match is at the bottom of the window. This is not working on any of my machines, and grep-ing my vim directory shows no mention of CommandTMatchWindowReverse except in the documentation. Am I missing something? Apologies in advance if this has been asked before...
-
Greg Hurrell
It was added quite recently, in version 1.2. Are you're sure you're working with a recent version?
If you are, you'll find this at line 161 of
ruby/command-t/controller.rb
::match_window_reverse => get_bool('g:CommandTMatchWindowReverse')
-
anonymous
Ah, yes, it seems I was working with the previous version at work and the updated version at home but forgot to commit my changes to my svn repository where I keep my vim settings. I updated the files and everything works! So my mistake on that. Thanks for your help!
Reply
This topic is now closed.


{% extends "base.html" %} {% block title %}Home{% endblock %} {% block content %}
Shorten your long URLs with a single mouse click!
Short URL: {{ short_url }}


--- layout: page title: About header-img: "img/about-bg.png" ---
Hello my name is Luis! I’m located in Texas! Ready to become a software engineer!


Calculate and return the total variation for one or more images.
tf.compat.v1.image.total_variation
tf.compat.v2.image.total_variation
tf.image.total_variation( images, name=None )
The total variation is the sum of the absolute differences for neighboring pixel-values in the input images. This measures how much noise is in the images.
This can be used as a loss-function during optimization so as to suppress
noise in images. If you have a batch of images, then you should calculate
the scalar loss-value as the sum:
loss = tf.reduce_sum(tf.image.total_variation(images))
This implements the anisotropic 2-D version of the formula described here:
https://en.wikipedia.org/wiki/Total_variation_denoising
images
: 4-D Tensor of shape [batch, height, width, channels]
or 3-D Tensor
of shape [height, width, channels]
.name
: A name for the operation (optional).ValueError
: if images.shape is not a 3-D or 4-D vector.The total variation of images
.
If images
was 4-D, return a 1-D float Tensor of shape [batch]
with the
total variation for each image in the batch.
If images
was 3-D, return a scalar float with the total variation for
that image.


{% load static %}
Welcome to Restaurants R Us!! We are a located in San Diego California, and specialize in best restaurants. If you are in town or if you are looking on the web, we have a site to order food. You can make arangements by stopping by and ordering on grubhub, postmates, or uber eats. We are open 10am to 9pm all week long. A little history, we've been in business for the last 10 years so we're a company you can trust for getting more bang for your buck. Need a table, a reservation, night or day? We'll have one for you in no time. So come get stuffed with us.


toy #1
toy #2
post-zach
and
other zach
note: this content is peer2peer only. view in
beaker browser
thesis(?)
techno playground


LEAN CLI
An easy to use,
python shell wrapper
on LEAN
LEAN CLI provides notebooks,
backtesting, optimization and live
trading with a simple to use API,
deploying to the cloud or on premise.


class: center, middle, main-title # Aug 31 Jessica's week! --- ## Agenda - State of Support - How to be a Team Lead - Housekeeping - Post-mortem - Kick off - Mindmeld --- ## State of support - a bunch of issues related to "massage" errors. (We should be getting better errors starting today) - flux throws false positives (e.g. 404) --- ## How to be a Team Lead - the Friday before you're on: meet with Scott and Dan to create issues for the milestone - lead the UI meeting on Monday to talk about that week's deadline - ensure PRs are cleared out daily - ensure bugsnag is cleared out daily - ensure the thurs deadline is met. ← This is the most important part - ensure the QA on Fri completes for *all* browsers - lead the post-mortem of the following Monday's meeting - ensure the milestone is *closed* (that means pressing the button) --- class: center, middle, title ## Housekeeping --- ### server logging Use with `req.log` --- ### Merging Props Merging props can now be done in the stateProps function ```js const stateProps = (state, parentProps) => { return { category: find(state.categories, {id: parentProps.params.categoryId}) } } ``` *Do not return a plain object from merge props*. You have to merge in all the args, or you'll be removing props. --- ### State UX Every async action *must* have **error**, **loading**, and **success** UI state. There were a lot of forms that didn't have a loading state in supplier signup. This can lead to double submissions and doesn't let the user know what's happening. With flux this is *easy*. --- ### Naming Consistency - when you have a method responding to an event, name it `on*` - when you have a method that returns JSX, name in `render*` --- ## Post-Mortem **Things we tried** - wed deadline, thurs deadline, fri deadline - pairing - only rebasing once - have all state go through flux --- ## what went well - we did meet the 1 week deadline - Ted learned flux! - we immediately saw problems with the issues and api, and pro-actively fixed them - only rebasing once, at the EOW worked! --- ## what didn't go well - flux actions are starting to become messy, we should talk about namespacing - had to stay late on Fri b/c we were building components on thurs - creating the build step took longer than expected - we missed the wed deadline - it sucks that mondays are half days. - move Monday meetings to 10. - all issues closed by EOD wed - we missed the thurs deadlines - we didn't try to get through the whole flow before leaving - noon deadline to have a flow you can walkthrough - data wasn't figured out, there were bugs throughout - no css until the flow works - the lead is traffic control. Don't take issues without assigning yourself, don't solve problems without an issue or unless the lead tells you to. We stepped on each other's toes. **TODO** - all issues close by EOD wed - move the monday meeting to 10 - no css until the flow works - noon deadline on thurs to be able to walkthrough the flow --- ### Switch Pairs Jessica <-> Chris Jon <-> Ted --- ## Editing pricing @Jessica --- ## Mindmeld - jessica on immutable data - next week: Chris on best practices?


Reports @GuardedBy annotations on instance fields or methods,
where the guard is a static field. Guarding a non-static by a static may result in excessive lock contention,
as access to each locked field in any object instance will prevent simultaneous access to that field in every object instance.
Supported @GuardedBy annotations are:
- net.jcip.annotations.GuardedBy
- javax.annotation.concurrent.GuardedBy
- org.apache.http.annotation.GuardedBy
- com.android.annotations.concurrency.GuardedBy
- androidx.annotation.GuardedBy
- com.google.errorprone.annotations.concurrent.GuardedBy


How to Compose Interesting Tweets on Twitter
Assembly time: 2-5 minutes
Engagement rating: A ton of retweets & likes
Are you a journalist with aspirations of expanding your horizons via social media? In this day and age, Twitter is a quintessential platform to a journalists success! You've came by the right place to learn how to write an engaging Tweet. This skill will engage your audience which will lead to a bigger following.
-
Log in to Twitter
If you do not have a Twitter account, go ahead and make one now.
-
Be original and post #hashtags
This is the most important way to make your Twitter posts interesting. Nobody likes reading the same material over and over. If you want to grow and get followers, you need to post interesting and original material. #Hashtags will go a long way and help your profile gain exposure.
-
Make use of your space
With only 280 characters available to write, be sure to take advantage of the space. Too many people post a few words at the time. The things you say may be just as funny out of context since you do not have much space to explain a whole story, but be sure to use the space you DO have available to you!
-
Be relevant
Believe it or not, simple observations are a way to get people to relate to you. You want your followers to read your post and laugh out loud because it is a relatable experience that brings back a memory of an experience they had.
-
Post image tweets and remain active on Twitter
Posting image tweets is a great way to differentiate your tweets from ones that do not have picures. Incorporating an image to your tweet can help you gain attention to your profile. We all know people who join social networking sites and post just once a month. This is not going to make you popular with anyone. As a matter of fact, not being active is the number 1 way to lose followers.


≡
OPERATIONS
≡
OPERATIONS
Logout
SHANIQUA JONES
Seated User
Switch to Employee View
DASHBOARD
REPORTS
New
View
Templates
HOUSEKEEPING
Jobs
Seats
Company Profile
SETTINGS
LOGOUT
Switch to Operations View
DASHBOARD
REPORTS
New
View Mine
View All
MY PROFILE
OPERATIONAL
Jobs
Employee List
Company Profile
SETTINGS
LOGOUT
VIEW TEMPLATE
×
New Line
Report Templates
New Template
Template Title
Short Template Title (Used when saving files)
Include Lunch?
New Line
Cancel
Save


For the past few years, life has been all about re-balancing the boat after surge after surge. But one thing had been constant: my job. While my "in country managers" and reporting structure was always changing, I was working with the same group that I had been working with for 21 years. It was staable, steady work. I enjoyed it. I respected my team. They are family. They have been with me as I've gone through the stages of life: moving, new babies, teenagers, kids heading to college.
In some little (ok, not so little) corner of my worry-brain, I knew that I would become a target of a resource action. When the shoe dropped, it was a relief in some sense. I no longer had to worry about that happening. It happened. But then the other worries... What's next? Will I have the skills?
Luck was on my side. I have been following the growth of Data Science for years. I started taking Coursera classes over five years ago. I started attending Meetups. But with family and work, I didn't have the time to commit to a true course. My severance package from IBM gave me a not quite golden ticket, but at least a bronze one. A chance to enroll in the Data Science class that I've been eager to take for quite some time.
So here I am once again, balancing our family boat after yet another surge had rocked it.


{% extends "views/base.nunjucks.html" %} {% block body %} {% include "views/includes/navbar.nunjucks.html" %} {% include "views/includes/header.nunjucks.html" %}


Hyyan Brunch.
Brunch skeleton with wordpress themes in mind
Learn more
Fork/Star On Github
For
Brunch
, by
Hyyan
.


--- layout: post title: Future Apple mt_id: 364 date: 2005-03-24 12:06:12.000000000 +09:00 author: clouder category: Mac ---
Business 2.0 :: Online Article :: Photoessay :: Re-Imagining Apple A wrist-worn iPod would keep time and play music, using Bluetooth to wirelessly beam tunes to earbuds or headphones.Appleの製品の未来予想をしています。podwatchとかiPhoneとか魅力的だ…。


What is a target?
The target variable of a dataset is the feature of a dataset about which you want to gain a deeper understanding.
A supervised machine learning algorithm uses historical data to learn patterns and uncover relationships between other features of your dataset and the target.


HTML/CSS
On this page you will find links to teach you how to use Design and Develop
My name is Meghana Padullaparthi, I will be showing you the following tutorials for design and develop. The tutorials will consist of concepts and terms. I explain golden ratio for calculating sizes of website regions, square root for margins / padding, how to make an f layout in code, how to make a z layout in code, CSS selectors.
I will be explaining the terms along with the concepts.


tests.account TAccountAddressBookAddEditRemoveAddresses
Test add, remove, edit, make default address data in account addressbook.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
- Create new account with profile data
- Login to account using the global link in the header
2. Scope of test
- Go to address book
- Validate nav, page and empty list
- Add address and cancel dialog
- Create two new addresses and validate both
- Make second address default and validate resorting
- Edit and cancel first address
- Edit and submit second address
- Remove both addresses and validate resorting
- Validate empty list
3. Clean up
- Logout using the global link in the header
- End session and clean up created cookies
Steps
-
Generate random email.
-
Generate random password.
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
Flow to create a new customer with profile data.
- Start on homepagee
- Create account via global register in header
- Validate profile data
- Logout via global header link
- End on homepage
-
Flow to login as returning customer.
- Start on homepage
- Click login in header
- Login as returning customer
- End on account menu
-
GoToAddressBook
-
Go to address book on account menu.
-
Validate account navigation.
-
Validate address book page.
-
Validate empty address list.
-
CreateNewAddress
-
Click create new address.
-
CreateAddressDialog
-
Validate address details dialog.
-
Enter data in address details dialog.
-
Click create data in address details dialog.
-
Validate address.
-
Validate default address label.
-
CreateNewAddress
-
Click create new address.
-
CreateAddressDialog
-
Validate address details dialog.
-
Enter data in address details dialog.
-
Click create data in address details dialog.
-
Validate address.
-
MakeDefaultAddress
-
Click make default address.
-
Validate address.
-
Validate default address label.
-
Validate address.
-
EditAddress
-
Click edit details.
-
Validate address details dialog.
-
CancelAddressDialog
-
Click cancel data in address details dialog.
-
Validate address.
-
EditAddress
-
Click edit details.
-
Validate address details dialog.
-
ApplyAddressDialog
-
Enter data in address details dialog.
-
Click apply data in address details dialog.
-
Validate address.
-
EditAddress
-
Click edit details.
-
Validate address details dialog.
-
DeleteAddressDialog
-
Click delete data in address details dialog.
-
Validate address.
-
DeleteAddress
-
Click delete address.
-
Validate empty address list.
-
GoToAccount
-
Click and go to account via customer name in header.
-
Logout
-
Click logout via customer name in header.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| statesState_01 | ${shippingAddress_statesState} |
| statesState_03 | Other |
| statesState_02 | ${billingAddress_statesState} |
| address1_02 | ${billingAddress_address1} |
| country_02 | ${billingAddress_country} |
| country_01 | ${shippingAddress_country} |
| address1_03 | Leutragraben |
| country_03 | Germany |
| address1_01 | ${shippingAddress_address1} |
| address2_01 | ${shippingAddress_address2} |
| lastname_02 | ${billingAddress_lastname} |
| address2_02 | ${billingAddress_address2} |
| address2_03 | 2 |
| statesStateShort_03 | OTHER |
| phone_01 | ${shippingAddress_phone} |
| statesStateShort_02 | ${billingAddress_statesStateShort} |
| phone_02 | ${billingAddress_phone} |
| phone_03 | 03641-411111 |
| statesStateShort_01 | ${shippingAddress_statesStateShort} |
| city_02 | ${billingAddress_city} |
| city_03 | Jena |
| city_01 | ${shippingAddress_city} |
| lastname_01 | ${shippingAddress_lastname} |
| postalCode_01 | ${shippingAddress_postalCode} |
| firstname_02 | ${billingAddress_firstname} |
| postalCode_02 | ${billingAddress_postalCode} |
| postalCode_03 | 07743 |
| firstname_01 | ${shippingAddress_firstname} |
| title_03 | Jena |
| title_02 | ${billingAddress_title} |
| title_01 | ${shippingAddress_title} |
Defined Outside
| Name | Value |
|---|---|
| password_varDynamic | N/A |
| email_varDynamic | N/A |
Dynamic Variables
— none —
tests.account TAccountLoginEmptyPassword
Test login without password.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
- Create new account with profile data
2. Scope of test
- Click login link in the header and go to the login page
- Validate login page
- Enter username, leave password empty and try to login
- Validate present error message element
3. Clean up
- End session and clean up created cookies
Steps
-
Generate random email.
-
Generate random password.
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
Flow to create a new customer with profile data.
- Start on homepagee
- Create account via global register in header
- Validate profile data
- Logout via global header link
- End on homepage
-
GoToLogin
-
Click login in header.
-
Validate account login page.
-
LoginCustomerEmptyPassword
-
Enter email only, leave password empty.
-
Valdiate error message after login with false profile data.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| lastname | ${billingAddress_lastname} |
| passwordEmpty | |
| firstname | ${billingAddress_firstname} |
Defined Outside
| Name | Value |
|---|---|
| password_varDynamic | N/A |
| email_varDynamic | N/A |
Dynamic Variables
— none —
tests.account TAccountLoginInvalidPassword
Test login using an invalid password.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
- Create new account with profile data
2. Scope of test
- Click login link in the header and go to the login page
- Validate login page
- Enter username, invalid password and try to login
- Validate error message
3. Clean up
- End session and clean up created cookies
Steps
-
Generate random email.
-
Generate random password.
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
Flow to create a new customer with profile data.
- Start on homepagee
- Create account via global register in header
- Validate profile data
- Logout via global header link
- End on homepage
-
GoToLogin
-
Click login in header.
-
Validate account login page.
-
LoginCustomerInvalidPassword
-
Enter email and wrong password.
-
Valdiate error message after login with false profile data.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| passwordInvalid | ThisPasswordIsInvalid |
| lastname | ${billingAddress_lastname} |
| firstname | ${billingAddress_firstname} |
Defined Outside
| Name | Value |
|---|---|
| password_varDynamic | N/A |
| email_varDynamic | N/A |
Dynamic Variables
— none —
tests.account TAccountPaymentSettingsAddEditRemoveCreditCards
Test add, edit and remove credit card data in account payment settings.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
- Create new account with profile data
- Login to account using the global link in the header
2. Scope of test
- Go to payment settings
- Validate nav, page and empty list
- Add credit card and cancel dialog
- Create two new credit cards and validate both
- Remove both credit cards and validate resorting
- Validate empty list
3. Clean up
- Logout using the global link in the header
- End session and clean up created cookies
Steps
-
Generate random email.
-
Generate random password.
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
Flow to create a new customer with profile data.
- Start on homepagee
- Create account via global register in header
- Validate profile data
- Logout via global header link
- End on homepage
-
Flow to login as returning customer.
- Start on homepage
- Click login in header
- Login as returning customer
- End on account menu
-
GoToPaymentSettings
-
Go to payment settings on account menu.
-
Validate account navigation.
-
Validate payment settings page.
-
Validate empty credit card list.
-
AddCreditCard
-
Click add credit card on payment settings page.
-
Validate credit card details dialog.
-
CancelCreditCardDialog
-
Click cancel data in credit card details dialog.
-
Validate empty credit card list.
-
AddCreditCard
-
Click add credit card on payment settings page.
-
Validate credit card details dialog.
-
ApplyCreditCardDialog
-
Enter data in credit card details dialog.
-
Click apply data in credit card details dialog.
-
Validate credit card data in payment settings.
-
AddCreditCard
-
Click add credit card on payment settings page.
-
Validate credit card details dialog.
-
ApplyCreditCardDialog
-
Enter data in credit card details dialog.
-
Click apply data in credit card details dialog.
-
Validate credit card data in payment settings.
-
DeleteCreditCard
-
Click delete credit card.
-
Validate credit card data in payment settings.
-
DeleteCreditCard
-
Click delete credit card.
-
Validate empty credit card list.
-
GoToAccount
-
Click and go to account via customer name in header.
-
Logout
-
Click logout via customer name in header.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| number_02 | ${amexCreditCard_number} |
| typeShort_01 | ${visaCreditCard_typeShort} |
| typeShort_02 | ${amexCreditCard_typeShort} |
| lastname | ${billingAddress_lastname} |
| number_01 | ${visaCreditCard_number} |
| firstname | ${billingAddress_firstname} |
| month_01 | ${visaCreditCard_month} |
| month_02 | ${amexCreditCard_month} |
| type_02 | ${amexCreditCard_type} |
| type_01 | ${visaCreditCard_type} |
| owner_02 | ${amexCreditCard_owner} |
| owner_01 | ${visaCreditCard_owner} |
| year_01 | ${visaCreditCard_year} |
| year_02 | ${amexCreditCard_year} |
Defined Outside
| Name | Value |
|---|---|
| password_varDynamic | N/A |
| email_varDynamic | N/A |
Dynamic Variables
— none —
tests.account TAccountPersonalDataRegisterProfile
Test register profile with create account via link in header.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
2. Scope of test
- Click register link in the header and goto the create account page
- Enter profile data and submit the form
- Logout using the link in the account area
- Login again to validate login data
- Validate personal profile data
- Logout using the global link in the header
3. Clean up
- End session and clean up created cookies
Steps
-
Generate random email.
-
Generate random password.
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
GoToRegister
-
Click register in header.
-
Register
-
Enter profile data.
-
Click submit profile data.
-
Validate account page.
-
Validate account navigation.
-
Validate customer name on account page.
-
Logout
-
Click logout on account page.
-
Flow to login as returning customer.
- Start on homepage
- Click login in header
- Login as returning customer
- End on account menu
-
Validate account page.
-
Validate account navigation.
-
GoToPersonalData
-
Go to personal data (profile) on account menu.
-
Validate personal data page.
-
Validate account navigation.
-
Validate profile data.
-
Logout
-
Click logout via customer name in header.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| firstname | ${billingAddress_firstname} |
| lastname | ${billingAddress_lastname} |
Defined Outside
| Name | Value |
|---|---|
| password_varDynamic | N/A |
| email_varDynamic | N/A |
Dynamic Variables
— none —
tests.account TAccountPersonalDataUpdateProfile
Test update profile data in account.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
- Create new account with profile data
2. Scope of test
- Login using the prepared account
- Update profile data (firstname, lastname and email)
- Logout via corresponding link on account page
- Login with new email
- Validate new profile data
- Logout via corresponding link on account page
3. Clean up
- End session and clean up created cookies
Steps
-
Generate random email.
-
Generate random email.
-
Generate random password.
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
Flow to create a new customer with profile data.
- Start on homepagee
- Create account via global register in header
- Validate profile data
- Logout via global header link
- End on homepage
-
Flow to login as returning customer.
- Start on homepage
- Click login in header
- Login as returning customer
- End on account menu
-
ViewAccount
-
Validate account page.
-
Validate account navigation.
-
Validate customer name on account page.
-
Flow to edit personal data (profile).
- Start on account menu
- Go to personal data
- Enter and submit profile
- Valdiate customer name
- End on account menu
-
Logout
-
Click logout on account page.
-
Flow to login as returning customer.
- Start on homepage
- Click login in header
- Login as returning customer
- End on account menu
-
Validate account page.
-
Validate account navigation.
-
Validate customer name on account page.
-
Logout
-
Click logout on account page.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| lastname_02 | Müller |
| firstname_02 | Jörg |
| firstname_01 | ${billingAddress_firstname} |
| lastname_01 | ${billingAddress_lastname} |
Defined Outside
| Name | Value |
|---|---|
| email_01_varDynamic | N/A |
| email_02_varDynamic | N/A |
| password_varDynamic | N/A |
Dynamic Variables
— none —
tests.account TAccountWishListAddRemoveProduct
Test add product to wishlist.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
- Create new account
- Search product 01
2. Scope of test
- Store product details and add to wishlist
- Login
- Validate nav and page
- Add product to wishlist
- Validate product basic details
- Remove product 01
- Validate empty
3. Clean up
- Logout
- End session and clean up created cookies
Steps
-
Generate random email.
-
Generate random password.
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
Flow to create a new customer with profile data.
- Start on homepagee
- Create account via global register in header
- Validate profile data
- Logout via global header link
- End on homepage
-
Search
-
Enter and submit text in search.
-
AddToWishList
-
Store basic product details.
-
Click add product to wishlist.
-
Login
-
Enter, click and go to returning customer on account login page.
-
ViewWishList
-
Validate wishlist page.
-
Validate account navigation.
-
Validate product basic details in wishlist.
-
RemoveProductFromWishList
-
Click remove product from wishlist.
-
Validate empty product list in wishlist.
-
GoToAccount
-
Click and go to account via customer name in header.
-
Logout
-
Click logout via customer name in header.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| productNumber | ${productNumber_typeOptionProduct} |
| lastname | ${billingAddress_lastname} |
| firstname | ${billingAddress_firstname} |
Defined Outside
| Name | Value |
|---|---|
| productName_varDynamic | N/A |
| productPriceSales_varDynamic | N/A |
| productQuantity_varDynamic | N/A |
| password_varDynamic | N/A |
| productNumber_varDynamic | N/A |
| email_varDynamic | N/A |
Dynamic Variables
— none —
tests.cart TCartAddRemoveProduct
Test add and remove product in cart.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
- Add basic product to cart
2. Scope of test
- Validate cart page
- Validate product row
- Validate product row basic details
- Validate product row total
- Validate cart totals subtotal
- Remove product
- Validate empty cart
3. Clean up
- End session and clean up created cookies
Steps
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
Flow to add (basic) product with quantity to cart.
- Start on search
- Search product via number
- Set quantity on PDP
- Store basic details on PDP
- Add to cart on PDP
- Go to Cart via global header link
- Validate product row basic details
- Store product price total
- End on cart
-
ViewCart
-
Validate cart page.
-
Validate row.
-
Validate row with product name, number, quantity, price sales. It is a basic validation which should work for all kind of product variations.
-
Validate row with product price total.
-
Validate totals subtotal.
-
RemoveProduct
-
Click remove product from cart.
-
Validate cart is empty.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| productNumber | ${productNumber_typeProduct} |
| productQuantity | 1 |
Defined Outside
| Name | Value |
|---|---|
| productName_varDynamic | N/A |
| productPriceSales_varDynamic | N/A |
| productQuantity_varDynamic | N/A |
| productNumber_varDynamic | N/A |
| productPriceTotal_varDynamic | N/A |
Dynamic Variables
— none —
tests.cart TCartRefreshProductsCalculateTotals
Test refresh products and calculate sums with update quantity and resort rows in cart.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies.
2. Scope of test
Product 01 - Change quantity via update cart
- Add product 01 to cart (quantity 1).
- Validate product and subtotal.
- Increase quantity to random value via update cart function.
- Calculate formatted total product price based on updated quantity.
- Validate product price and subtotal.
Product 02 - Change quantity via edit dialog
- Add product 02 to cart (quantity 2).
- Calculate formatted total product price.
- Calculate subtotal and number of items for both products.
- Validate both products and subtotal.
- Increase product 02 quantity to random value via edit details dialog.
- Calculate new subtotal and number of items for both products.
- Validate calculated values in mini cart header.
- Validate both products and subtotal on cart page.
Product 01 and 02 - Remove and rearrange rows
- Remove product 01.
- Validate product 02 is still in cart.
- Validate subtotal.
- Remove product 02.
- Validate emty cart.
3. Clean up
- End session and clean up created cookies.
Steps
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
Add the first product with quantity 1 to the cart. The output value of productPriceTotal is "unused" because it will be calculated in the test and validated against the storefront presentation.
-
ViewCart
-
Validate cart page.
-
Validate row.
-
Validate row with product price total.
-
UpdateQuantity
-
Enter and update product quantity of a product by row via update cart button.
-
Calculate product total price (based on: price sales x quantity = price total).
-
Validate row with product name, number, quantity, price sales. It is a basic validation which should work for all kind of product variations.
-
Validate row with product price total.
-
Add the second product with quantity 2 to the cart. The output value of productPriceTotal is "unused" because it will be calculated in the test and validated against the storefront presentation.
-
ViewCartAndCalculateTotals
-
Calculate product total price (based on: price sales x quantity = price total).
-
Calculate totals quantity of two products (based on: quantity 01 + quantity 02 = totals quantity).
-
Calculate totals subtotal of two products (based on: price 01 x quantity 01 + price 02 x quantity 02 = totals subtotal).
-
Validate row with product name, number, quantity, price sales. It is a basic validation which should work for all kind of product variations.
-
Validate row with product price total.
-
Validate row with product name, number, quantity, price sales. It is a basic validation which should work for all kind of product variations.
-
Validate row with product price total.
-
Validate totals subtotal.
-
UpdateQuantityViaEdit
-
Enter and update product quantity by row via edit details.
-
Calculate product total price (based on: price sales x quantity = price total).
-
Calculate totals quantity of two products (based on: quantity 01 + quantity 02 = totals quantity).
-
Calculate totals subtotal of two products (based on: price 01 x quantity 01 + price 02 x quantity 02 = totals subtotal).
-
Validate minicart on homepage with item count and total price in header details .
-
Validate row with product name, number, quantity, price sales. It is a basic validation which should work for all kind of product variations.
-
Validate row with product price total.
-
Validate row with product name, number, quantity, price sales. It is a basic validation which should work for all kind of product variations.
-
Validate row with product price total.
-
Validate totals subtotal.
-
RemoveProduct
-
Click remove product from cart.
-
Validate minicart on homepage with item count and total price in header details .
-
Validate row with product name, number, quantity, price sales. It is a basic validation which should work for all kind of product variations.
-
Validate row with product price total.
-
Validate totals subtotal.
-
RemoveProduct
-
Click remove product from cart.
-
Validate cart is empty.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| productQuantity_01 | 1 |
| productQuantity_02 | 2 |
| productNumber_02 | ${productNumber_typeOptionProduct} |
| productNumber_01 | ${productNumber_typeProduct} |
Defined Outside
| Name | Value |
|---|---|
| totalsQuantity_varDynamic | N/A |
| productNumber_01_varDynamic | N/A |
| productName_01_varDynamic | N/A |
| storefront_priceDigitGroupSeparators | , |
| productNumber_02_varDynamic | N/A |
| productQuantity_02_varDynamic | N/A |
| productPriceSales_02_varDynamic | N/A |
| productPriceTotal_02_varDynamic | N/A |
| productName_02_varDynamic | N/A |
| storefront_priceCurrency | $ |
| storefront_priceDecimalMark | . |
| totalsSubtotal_varDynamic | N/A |
| productPriceTotal_01_varDynamic | N/A |
| productPriceSales_01_varDynamic | N/A |
Dynamic Variables
- productQuantity_02_varDynamic
- productQuantity_01_varDynamic
tests.catalog TCatalogOptionSelectItemsPerPage
Test select items per page option on catalog page.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
2. Scope of test
- Select Items per page via position
- Validate result page
- Select Items per page via random
- Validate result page
- Select Items per page via all labels
- Validate result page
3. Clean up
- End session and clean up created cookies
Note
Executing this test case using script developer leads to the following message: "The following test data placeholders could not be resolved: itemsPerPageCount Replay the script anyway?"
Please ignore this message, it is a known script developer issue (https://lab.xceptance.de/issues/2349).
Steps
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
GoToCategoryPage
-
Click and go to category at level 3 nested in level 1 and level 2 via position.
-
Validiate catalog page.
-
SelectItemsPerPageViaPosition
-
Select items per page via position.
-
Validate items per page option.
-
SelectItemsPerPageViaRandom
-
Select items per page via random.
-
Validate items per page option.
-
SelectItemsPerPage12
-
Select items per page via label.
-
Validate items per page option.
-
SelectItemsPerPage24
-
Select items per page via label.
-
Validate items per page option.
-
SelectItemsPerPage36
-
Select items per page via label.
-
Validate items per page option.
-
SelectItemsPerPage48
-
Select items per page via label.
-
Validate items per page option.
-
SelectItemsPerPageViewAll
-
Select items per page via label.
-
Validate items per page option is view all.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| itemsPerPageLabel_36 | 36 |
| itemsPerPageLabel_ViewAll | View All (*) |
| itemsPerPageLabel_48 | 48 |
| itemsPerPagePosition | 3 |
| itemsPerPageLabel_12 | 12 |
| itemsPerPageLabel_24 | 24 |
Defined Outside
| Name | Value |
|---|---|
| itemsPerPageLabel | N/A |
| itemsPerPageLabel_random | N/A |
Dynamic Variables
— none —
tests.catalog TCatalogOptionSelectSortBy
Test select sort by option on catalog page.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
2. Scope of test
- Sort by via position
- Validate result page
- Sort by via random
- Validate result page
- Sort by via all labels
- Validate result page
3. Clean up
- End session and clean up created cookies
Steps
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
GoToCategoryPage
-
Click and go to category at level 3 nested in level 1 and level 2 via position.
-
Validiate catalog page.
-
SelectSortByViaPosition
-
Select sort by via position.
-
Validiate sort by option.
-
SelectSortByViaRandom
-
Select sort by via random (without view all).
-
Validiate sort by option.
-
SelectSortByPriceLowToHigh
-
Select sort by via label.
-
Validiate sort by option.
-
SelectSortByPriceHighToLow
-
Select sort by via label.
-
Validiate sort by option.
-
SelectSortByNameAToZ
-
Select sort by via label.
-
Validiate sort by option.
-
SelectSortByNameZToA
-
Select sort by via label.
-
Validiate sort by option.
-
SelectSortByBrand
-
Select sort by via label.
-
Validiate sort by option.
-
SelectSortByMostPopular
-
Select sort by via label.
-
Validiate sort by option.
-
SelectSortByBrand
-
Select sort by via label.
-
Validiate sort by option.
-
SelectSortByBestMatches
-
Select sort by via label.
-
Validiate sort by option.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| sortByLabel_priceLowToHigh | Price Low To High |
| sortByPosition | 3 |
| sortByLabel_mostPopular | Most Popular |
| sortByLabel_bestMatches | Best Matches |
| sortByLabel_brand | Brand |
| sortByLabel_topSellers | Top Sellers |
| sortByLabel_productNameAToZ | Product Name A - Z |
| sortByLabel_priceHighToLow | Price High To Low |
| sortByLabel_productNameZToA | Product Name Z - A |
Defined Outside
| Name | Value |
|---|---|
| sortByLabel | N/A |
| sortByLabel_random | N/A |
Dynamic Variables
— none —
tests.catalog TCatalogRefinementSelectRemoveColors
Test select, remove and clear color refinement on catalog page.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
2. Scope of test
- Browse to category
- Select, validate and remove color via name
- Select three colors via position
- Remove one color via breadcrumb
- Remove two colors clear
- Validate empty color list
- Validate empty refinement list in breadcrumbs
3. Clean up
- End session and clean up created cookies
Steps
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
GoToCategoryPage
-
Click and go to category at level 3 nested in level 1 and level 2 via position.
-
Validiate catalog page.
-
RefineColorByLabel
-
Click color by label.
-
Validiate color is selected by label.
-
RemoveColorByLabel
-
Click color by label.
-
Validate color is not selected by label.
-
RefineColorByPostion
-
Click color by position.
-
Validiate color is selected by label.
-
RefineColorByPostion
-
Click color by position.
-
Validiate color is selected by label.
-
RefineColorByPostion
-
Click color by position.
-
Validiate color is selected by label.
-
RemoveFilter
-
Click remove refinement in breadcrumb via position.
-
Validate color is not selected by label.
-
ClearColors
-
Click clear color list.
-
Validate color list is empty.
-
Validate refinement list is empty.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| colorPosition_01 | 1 |
| colorPosition_02 | 5 |
| colorPosition_03 | 9 |
| colorLabel_blue | Blue |
Defined Outside
| Name | Value |
|---|---|
| colorLabel_01 | N/A |
| colorLabel_03 | N/A |
| colorLabel_02 | N/A |
Dynamic Variables
— none —
tests.catalog TCatalogValidatePagesCategoryLevel1
Test validate pages of category level 1.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
2. Scope of test
- Go to all pages of category level 1
- Validate all pages
3. Clean up
- End session and clean up created cookies
Steps
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
GoToCategoryPage
-
Click and go to category level 1 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category level 1 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category level 1 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category level 1 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category level 1 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category level 1 via position.
-
Validiate catalog page.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
— none —
Defined Outside
— none —
Dynamic Variables
— none —
tests.catalog TCatalogValidatePagesCategoryLevel2
Test validate pages of category level 2.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
2. Scope of test
- Go to all pages of category level 2
- Validate all pages
3. Clean up
- End session and clean up created cookies
Steps
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
GoToCategoryPage
-
Click and go to category at level 2 nested in level 1 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category at level 2 nested in level 1 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category at level 2 nested in level 1 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category at level 2 nested in level 1 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category at level 2 nested in level 1 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category at level 2 nested in level 1 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category at level 2 nested in level 1 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category at level 2 nested in level 1 via position.
-
Validiate catalog page.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
— none —
Defined Outside
— none —
Dynamic Variables
— none —
tests.catalog TCatalogValidatePagesCategoryLevel3
Test validate pages of category level 3.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
2. Scope of test
- Go to all pages of category level 3
- Validate all pages
3. Clean up
- End session and clean up created cookies
Steps
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
GoToCategoryPage
-
Click and go to category at level 3 nested in level 1 and level 2 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category at level 3 nested in level 1 and level 2 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category at level 3 nested in level 1 and level 2 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category at level 3 nested in level 1 and level 2 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category at level 3 nested in level 1 and level 2 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category at level 3 nested in level 1 and level 2 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category at level 3 nested in level 1 and level 2 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category at level 3 nested in level 1 and level 2 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category at level 3 nested in level 1 and level 2 via position.
-
Validiate catalog page.
-
GoToCategoryPage
-
Click and go to category at level 3 nested in level 1 and level 2 via position.
-
Validiate catalog page.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
— none —
Defined Outside
— none —
Dynamic Variables
— none —
tests.checkout TCheckoutGuestOrderProduct
Test guest checkout with one variation product with color and size, one address and visa.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
- Add variation product having color and size to cart (quantity 1)
2. Scope of test
- Start guest checkout
- Enter new address and use preselected default shipping method
- Use same as shipping address for billing and use payment method credit card (visa)
- Validate place order page
- Validate order confirmation page
- Go to account
- Validate customer name and profile
- Validate order via order history
- Logout
3. Clean up
- End session and clean up created cookies
Steps
-
Generate random email.
-
Generate random password.
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
Flow to add variation product with color, size and quantity to cart.
- Start on search
- Search product via number
- Set quantity on PDP
- Store basic details on PDP
- Store color and size on PDP
- Add to cart on PDP
- Go to Cart via global header link
- Validate product row basic details
- Validate product row color and size
- Store product price total
- End on cart
-
ViewCart
-
Store totals subtotal.
-
GoToCOLogin
-
Click and go to checkout from cart page.
-
Validate checkout start page.
-
COLoginGoToGuest
-
Click go to guest on checkout login page.
-
Validate shipping page.
-
Validate checked shipping values.
-
Validate box order summary.
-
Validate box order summary product basic details.
-
Validate box order summary product color and size attribute details.
-
Validate box order summary order subtotal.
-
COShipping
-
Enter address data on shipping page.
-
Check use as billing address.
-
Check shipping method via position.
-
Store box order summary totals shipping, sales tax and total.
-
Valdiate shipping method price.
-
Save shipping data and continue checkout
-
Validate billing page.
-
Validate box order summary.
-
Validate box order summary product basic details.
-
Validate box order summary product color and size attribute details.
-
Validate box order summary totals.
-
Validate box shipping address.
-
COBilling
-
Enter email on billing page.
-
Enter credit card data in payment on billing page.
-
Click continue to next step.
-
COPlaceOrder
-
Validate place order page.
-
Validate product in cart row on place order page
-
Validate product in cart row on place order page
-
Validate order totals subtotal, shipping, sales tax and total.
-
Validate box order summary totals.
-
Validate box shipping address.
-
Validate box billing address.
-
Validate box payment credit card
-
Click submit on place order page.
-
COConfirmation
-
Validate page.
-
Validate order information.
-
Validate billing address.
-
Validate payment credit card.
-
Validate order totals.
-
Validate shipping address.
-
modules.pages.checkout.steps.confirmation.VCheckout_Confirmation_validateShippingProductBasicDetails
Validate products basic details.
-
Valdiate product color and size attribute details.
-
Store order data.
-
Validate box new customer.
-
Validate box new customer profile data.
-
COConfirmationNewCustomer
-
Enter, click and submit profile data in box new customer.
-
Validate customer name on account page.
-
Flow to validate personal data (profile).
- Start on account menu
- Go to personal data
- Enter and submit profile
- Validate customer name
- End on account menu
-
Flow to validate order data in order history.
- Start on account menu
- Go to order history
- Validate order data
- End on account menu
-
Logout
-
Click logout via customer name in header.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| paymentName | ${storefront_creditCard_paymentName} |
| phone | ${billingAddress_phone} |
| cvn | ${visaCreditCard_cvn} |
| lastname | ${billingAddress_lastname} |
| address1 | ${billingAddress_address1} |
| number | ${visaCreditCard_number} |
| address2 | ${billingAddress_address2} |
| firstname | ${billingAddress_firstname} |
| type | ${visaCreditCard_type} |
| country | ${billingAddress_country} |
| city | ${billingAddress_city} |
| productNumber | ${productNumber_typeVariationProductColorSizeListPriceOnly} |
| postalCode | ${billingAddress_postalCode} |
| typeShort | ${visaCreditCard_typeShort} |
| month | ${visaCreditCard_month} |
| owner | ${visaCreditCard_owner} |
| productQuantity | 1 |
| year | ${visaCreditCard_year} |
| statesState | ${billingAddress_statesState} |
| statesStateShort | ${billingAddress_statesStateShort} |
Defined Outside
| Name | Value |
|---|---|
| productSize_varDynamic | N/A |
| storefront_orderDatePattern | [A-Z][a-z]{2} [0-9]{1,2}, [0-9]{4} |
| totalSubtotal_varDynamic | N/A |
| productColor_varDynamic | N/A |
| productQuantity_varDynamic | N/A |
| totalsShipping_varDynamic | N/A |
| totalsSalesTax_varDynamic | N/A |
| password_varDynamic | N/A |
| productNumber_varDynamic | N/A |
| shippingMethod_name | Ground |
| shippingMethod_position | 1 |
| totalsTotal_varDynamic | N/A |
| storefront_shippingStatus | Not Shipped |
| storefront_shippingAddress_isGift | no |
| productName_varDynamic | N/A |
| orderDate_varDynamic | N/A |
| orderNumber_varDynamic | N/A |
| storefront_shippingAddress_useAsBillingAddress | true |
| productPriceTotal_varDynamic | N/A |
| storefront_shippingMethod_position | 1 |
| storefront_orderNumberPattern | 00[0-9]{6} |
| email_varDynamic | N/A |
Dynamic Variables
— none —
tests.checkout TCheckoutNewCustomerOrderProducts
Test new customer checkout with two variation products with color and size, different quantities, two saved addresses and credit card visa including validation after checkout of profile data in created account and order number in order history.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
- Add variation product 01 to cart (color, size, list price, quantity 1)
- Add variation product 02 to cart (color, size, list and sales price, quantity 2)
2. Scope of test
- Start new customer checkout
- Enter and confirm new profile data
- Enter new shipping address, add it to address book and select configured shipping method
- Enter new billing address, add it to address book and use payment method credit card (visa)
- Validate place order page
- Validate order confirmation page and store order number
- Validate stored profile data in the account area
- Validate stored addresses in account address book
- Validate order history in account, check order number
- Go to account
- Validate customer name and profile
- Validate shipping and billing address
- Validate credit card in payment settings
- Validate order via order history
- Logout
3. Clean up
- End session and clean up created cookies
Steps
-
Generate random email.
-
Generate random password.
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
Flow to add variation product with color, size and quantity to cart.
- Start on search
- Search product via number
- Set quantity on PDP
- Store basic details on PDP
- Store color and size on PDP
- Add to cart on PDP
- Go to Cart via global header link
- Validate product row basic details
- Validate product row color and size
- Store product price total
- End on cart
-
Flow to add variation product with color, size and quantity to cart.
- Start on search
- Search product via number
- Set quantity on PDP
- Store basic details on PDP
- Store color and size on PDP
- Add to cart on PDP
- Go to Cart via global header link
- Validate product row basic details
- Validate product row color and size
- Store product price total
- End on cart
-
ViewCart
-
Store totals subtotal.
-
GoToCOLogin
-
Click and go to checkout from cart page.
-
Validate checkout start page.
-
COLoginGoToNewCustomer
-
Click and Go to new customer on checkout login page.
-
COLoginEnterNewCustomerProfile
-
Enter profile data on create account at checkout login page.
-
Click submit profile data on create account at checkout login page.
-
Validate shipping page.
-
Validate checked shipping values.
-
Validate box order summary.
-
Validate box order summary product basic details.
-
Validate box order summary product color and size attribute details.
-
Validate box order summary product basic details.
-
Validate box order summary product color and size attribute details.
-
Validate box order summary order subtotal.
-
COShipping
-
Enter address data on shipping page.
-
Check add data to address book.
-
Check shipping method via position.
-
Store box order summary totals shipping, sales tax and total.
-
Valdiate shipping method price.
-
Save shipping data and continue checkout
-
Validate billing page.
-
Validate box order summary.
-
Validate box order summary product basic details.
-
Validate box order summary product color and size attribute details.
-
Validate box order summary product basic details.
-
Validate box order summary product color and size attribute details.
-
Validate box order summary totals.
-
Validate box shipping address.
-
COBilling
-
Enter address data on billing page.
-
Check add data to address book.
-
Enter email on billing page.
-
Enter credit card data in payment on billing page.
-
Click continue to next step.
-
COPlaceOrder
-
Validate place order page.
-
Validate product in cart row on place order page
-
Validate product in cart row on place order page
-
Validate product in cart row on place order page
-
Validate product in cart row on place order page
-
Validate order totals subtotal, shipping, sales tax and total.
-
Validate box order summary totals.
-
Validate box shipping address.
-
Validate box billing address.
-
Validate box payment credit card
-
Click submit on place order page.
-
COConfirmation
-
Validate page.
-
Validate order information.
-
Validate billing address.
-
Validate payment credit card.
-
Validate order totals.
-
Validate shipping address.
-
modules.pages.checkout.steps.confirmation.VCheckout_Confirmation_validateShippingProductBasicDetails
Validate products basic details.
-
Valdiate product color and size attribute details.
-
modules.pages.checkout.steps.confirmation.VCheckout_Confirmation_validateShippingProductBasicDetails
Validate products basic details.
-
Valdiate product color and size attribute details.
-
Store order data.
-
GoToAccount
-
Click and go to account via customer name in header.
-
Validate customer name on account page.
-
Flow to validate personal data (profile).
- Start on account menu
- Go to personal data
- Enter and submit profile
- Validate customer name
- End on account menu
-
Flow to validate address in address book.
- Start on account menu
- Go to address book
- Validate address
- End on account menu
-
Flow to validate address in address book.
- Start on account menu
- Go to address book
- Validate address
- End on account menu
-
Flow to validate credit card data in payment settings.
- Start on account menu
- Go to payment settings
- Validate credit card data
- End on account menu
-
Flow to validate order data in order history.
- Start on account menu
- Go to order history
- Validate order data
- End on account menu
-
Logout
-
Click logout via customer name in header.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| paymentName | ${storefront_creditCard_paymentName} |
| cvn | ${visaCreditCard_cvn} |
| productQuantity_01 | 1 |
| productQuantity_02 | 2 |
| lastname | ${billingAddress_lastname} |
| number | ${visaCreditCard_number} |
| firstname | ${billingAddress_firstname} |
| type | ${visaCreditCard_type} |
| typeShort | ${visaCreditCard_typeShort} |
| owner | ${visaCreditCard_owner} |
| month | ${visaCreditCard_month} |
| year | ${visaCreditCard_year} |
| productNumber_02 | ${productNumber_typeVariationProductColorSizeSalesPrice} |
| productNumber_01 | ${productNumber_typeVariationProductColorSizeListPriceOnly} |
Defined Outside
| Name | Value |
|---|---|
| shippingAddress_title | Cambridge |
| storefront_orderDatePattern | [A-Z][a-z]{2} [0-9]{1,2}, [0-9]{4} |
| totalsShipping_varDynamic | N/A |
| totalsSalesTax_varDynamic | N/A |
| billingAddress_address2 | 1941 |
| shippingMethod_position | 1 |
| productName_01_varDynamic | N/A |
| shippingMethod_name | Ground |
| storefront_shippingStatus | Not Shipped |
| storefront_shippingAddress_isGift | no |
| billingAddress_firstname | John |
| billingAddress_address1 | Middlefield Rd |
| shippingAddress_phone |<PHONE_NUMBER> |
| shippingAddress_city | Cambridge |
| productPriceTotal_02_varDynamic | N/A |
| productName_02_varDynamic | N/A |
| totalsSubtotal_varDynamic | N/A |
| storefront_shippingMethod_position | 1 |
| productColor_02_varDynamic | N/A |
| productPriceTotal_01_varDynamic | N/A |
| shippingAddress_statesState | Massachusetts |
| billingAddress_phone |<PHONE_NUMBER> |
| email_varDynamic | N/A |
| productColor_01_varDynamic | N/A |
| shippingAddress_address2 | 6 |
| shippingAddress_address1 | Spring St |
| billingAddress_city | Palo Alto |
| productSize_02_varDynamic | N/A |
| shippingAddress_statesStateShort | MA |
| shippingAddress_firstname | Jane |
| password_varDynamic | N/A |
| billingAddress_country | United States |
| billingAddress_postalCode | 94301 |
| totalsTotal_varDynamic | N/A |
| billingAddress_lastname | Buyer |
| productSize_01_varDynamic | N/A |
| shippingAddress_lastname | Doe |
| shippingAddress_country | United States |
| orderDate_varDynamic | N/A |
| orderNumber_varDynamic | N/A |
| storefront_shippingAddress_useAsBillingAddress | true |
| billingAddress_statesState | California |
| billingAddress_statesStateShort | CA |
| storefront_orderNumberPattern | 00[0-9]{6} |
| shippingAddress_postalCode | 02142 |
| billingAddress_title | Palo*Alto |
Dynamic Variables
— none —
tests.checkout TCheckoutReturningCustomerOrderProducts
Test returning customer order with two saved addresses, saved credit card and two basic products including valdiation of order summary via check order status in account.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
- Create new account with profile data
- Add one address to account for shipping
- Add another address to account for billing
- Add credit card to account for billing.
- Logout
- Add product 01 to cart (quantity 1)
- Add product 02 to cart (quantity 2)
2. Scope of test
- Start checkout as returning customer
- Select saved shipping address and configured shipping method
- Select saved billing address and credit card
- Validate place order page
- Validate order confirmation, store order number and date
- Logout
- Validate order summary via check order status
3. Clean up
- End session and clean up created cookies
Steps
-
Generate random email.
-
Generate random password.
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
Flow to create a new customer with profile data.
- Start on homepagee
- Create account via global register in header
- Validate profile data
- Logout via global header link
- End on homepage
-
Flow to login as returning customer.
- Start on homepage
- Click login in header
- Login as returning customer
- End on account menu
-
Flow to create new address in address book.
- Start on account menu
- Go to address book
- Create, enter and submit address
- Validate credit card data
- End on account menu
-
Flow to create new address in address book.
- Start on account menu
- Go to address book
- Create, enter and submit address
- Validate credit card data
- End on account menu
-
Flow to create new credit card in payment settings.
- Start on account menu
- Go to payments settings
- Create, enter and submit credit card data
- Validate credit card data
- End on account menu
-
Logout
-
Click logout via customer name in header.
-
Flow to add (basic) product with quantity to cart.
- Start on search
- Search product via number
- Set quantity on PDP
- Store basic details on PDP
- Add to cart on PDP
- Go to Cart via global header link
- Validate product row basic details
- Store product price total
- End on cart
-
Flow to add (basic) product with quantity to cart.
- Start on search
- Search product via number
- Set quantity on PDP
- Store basic details on PDP
- Add to cart on PDP
- Go to Cart via global header link
- Validate product row basic details
- Store product price total
- End on cart
-
ViewCart
-
Store totals subtotal.
-
GoToCOLogin
-
Click and go to checkout from cart page.
-
Validate checkout start page.
-
COLoginGoToReturningCustomer
-
Enter, click and go to returning customer on checkout login page.
-
Validate shipping page.
-
Validate checked shipping values.
-
Validate box order summary.
-
Validate box order summary product basic details.
-
Validate box order summary product basic details.
-
Validate box order summary order subtotal.
-
COShipping
-
Select shipping address from saved address list.
-
Validate address data on shipping page.
-
Check shipping method via position.
-
Store box order summary totals shipping, sales tax and total.
-
Valdiate shipping method price.
-
Click continue to next step.
-
Validate billing page.
-
Validate box order summary.
-
Validate box order summary product basic details.
-
Validate box order summary product basic details.
-
Validate box order summary totals.
-
Validate box shipping address.
-
COBilling
-
Select billing address from saved address list.
-
Validate address data on billing page.
-
Check credit card in payment on billing page.
-
Select credit card from saved credit card list.
-
Enter credit card cvn in payment on billing page.
-
Validate credit card data in payment on billing page.
-
Click continue to next step.
-
COPlaceOrder
-
Validate place order page.
-
Validate product in cart row on place order page
-
Validate product in cart row on place order page
-
Validate order totals subtotal, shipping, sales tax and total.
-
Validate box order summary totals.
-
Validate box shipping address.
-
Validate box billing address.
-
Validate box payment credit card
-
Click submit on place order page.
-
COConfirmation
-
Validate page.
-
Validate order information.
-
Validate billing address.
-
Validate payment credit card.
-
Validate order totals.
-
Validate shipping address.
-
modules.pages.checkout.steps.confirmation.VCheckout_Confirmation_validateShippingProductBasicDetails
Validate products basic details.
-
modules.pages.checkout.steps.confirmation.VCheckout_Confirmation_validateShippingProductBasicDetails
Validate products basic details.
-
Store order data.
-
Logout
-
Click logout via customer name in header.
-
Flow to validate order data via track order.
- Start on homepage
- Enter and submit check order on account login page
- Validate order data in order summmary
- End on homepage
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| paymentName | ${storefront_creditCard_paymentName} |
| cvn | ${amexCreditCard_cvn} |
| productQuantity_01 | 2 |
| productQuantity_02 | 4 |
| lastname | ${billingAddress_lastname} |
| number | ${amexCreditCard_number} |
| firstname | ${billingAddress_firstname} |
| type | ${amexCreditCard_type} |
| typeShort | ${amexCreditCard_typeShort} |
| owner | ${amexCreditCard_owner} |
| month | ${amexCreditCard_month} |
| year | ${amexCreditCard_year} |
| productNumber_02 | ${productNumber_typeOptionProduct} |
| productNumber_01 | ${productNumber_typeProduct} |
Defined Outside
| Name | Value |
|---|---|
| shippingAddress_title | Cambridge |
| storefront_orderDatePattern | [A-Z][a-z]{2} [0-9]{1,2}, [0-9]{4} |
| totalsShipping_varDynamic | N/A |
| totalsSalesTax_varDynamic | N/A |
| billingAddress_address2 | 1941 |
| productName_01_varDynamic | N/A |
| shippingMethod_position | 1 |
| shippingMethod_name | Ground |
| storefront_shippingStatus | Not Shipped |
| storefront_shippingAddress_isGift | no |
| billingAddress_firstname | John |
| billingAddress_address1 | Middlefield Rd |
| productQuantity_02_varDynamic | N/A |
| shippingAddress_phone |<PHONE_NUMBER> |
| shippingAddress_city | Cambridge |
| productPriceTotal_02_varDynamic | N/A |
| productName_02_varDynamic | N/A |
| storefront_shippingMethod_position | 1 |
| totalsSubtotal_varDynamic | N/A |
| productPriceTotal_01_varDynamic | N/A |
| billingAddress_phone |<PHONE_NUMBER> |
| shippingAddress_statesState | Massachusetts |
| email_varDynamic | N/A |
| shippingAddress_address2 | 6 |
| billingAddress_city | Palo Alto |
| shippingAddress_address1 | Spring St |
| shippingAddress_statesStateShort | MA |
| password_varDynamic | N/A |
| shippingAddress_firstname | Jane |
| billingAddress_postalCode | 94301 |
| billingAddress_country | United States |
| productNumber_01_varDynamic | N/A |
| totalsTotal_varDynamic | N/A |
| billingAddress_lastname | Buyer |
| shippingAddress_lastname | Doe |
| shippingAddress_country | United States |
| orderDate_varDynamic | N/A |
| orderNumber_varDynamic | N/A |
| billingAddress_statesState | California |
| storefront_shippingAddress_useAsBillingAddress | true |
| billingAddress_statesStateShort | CA |
| storefront_orderNumberPattern | 00[0-9]{6} |
| shippingAddress_postalCode | 02142 |
| productQuantity_01_varDynamic | N/A |
| billingAddress_title | Palo*Alto |
Dynamic Variables
— none —
tests.homepage THomepageValidateStructure
Test browse hompage with basic functions.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
2. Scope of test
- Validate global header, navigation and footer
- Validate hompage content
3. Clean up
- End session and clean up created cookies
Steps
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
ViewHomepage
-
Validate header, footer and navigation.
-
Validate hompage main content.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
— none —
Defined Outside
— none —
Dynamic Variables
— none —
tests.minicart TMiniCartRefreshProducts
Test refresh products with update quantity and resort rows in mini cart. Caution: Browser window needs to be 1200 pixels wide to show totals subtotal in header.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
- Add product 01 to cart (quantity 1)
- Add product 02 to cart (quantity 2)
- Store subtotal
2. Scope of test
Product 01 and 02 - Validate products
- Validate header items
- Validate body product 01 in row 2
- Validate body product 02 in row 1
- Validate body subtotal
Product 01 and 02 - Change quantities
- Change product 01 quantity to 3
- Change product 02 quantity to 4
- Validate updated header items
- Validate updated mini cart body product 01 in row 2
- Validate updated mini cart body product 02 in row 1
- Validate updated mini cart body subtotal
Product 01 and 02 - Remove and rearrange rows
- Remove product 02
- Validate updated mini cart body product 01 in row 1
- Remove product 01
- Validate empty cart
- Validate empty mini cart
3. Clean up
- End session and clean up created cookies
Steps
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
Flow to add (basic) product with quantity to cart.
- Start on search
- Search product via number
- Set quantity on PDP
- Store basic details on PDP
- Add to cart on PDP
- Go to Cart via global header link
- Validate product row basic details
- Store product price total
- End on cart
-
Flow to add (basic) product with quantity to cart.
- Start on search
- Search product via number
- Set quantity on PDP
- Store basic details on PDP
- Add to cart on PDP
- Go to Cart via global header link
- Validate product row basic details
- Store product price total
- End on cart
-
Store totals subtotal.
-
VIewMiniCart
-
Validate minicart on homepage header.
-
Validate minicart on homepage with item count and total price in header details .
-
Hover mini cart link to ensure that body remains open.
-
Validate minicart popup.
-
Validate minicart row with product name, product quantity and product price total.
-
Validate minicart row with product name, product quantity and product price total.
-
Validate minicart subtotal.
-
UpdateQuantity
-
Enter and update product quantity of a product by row via update cart button.
-
Store product price total via cart row.
-
UpdateQuantity
-
Enter and update product quantity of a product by row via update cart button.
-
Store product price total via cart row.
-
Store totals subtotal.
-
ViewMiniCart
-
Validate minicart on homepage with item count and total price in header details .
-
Hover mini cart link to ensure that body remains open.
-
Validate minicart row with product name, product quantity and product price total.
-
Validate minicart row with product name, product quantity and product price total.
-
Validate minicart subtotal.
-
RemoveProduct
-
Click remove product from cart.
-
Store totals subtotal.
-
ViewMiniCart
-
Validate minicart on homepage with item count and total price in header details .
-
Hover mini cart link to ensure that body remains open.
-
Validate minicart row with product name, product quantity and product price total.
-
Validate minicart subtotal.
-
RemoveProduct
-
Click remove product from cart.
-
Validate cart is empty.
-
Validate minicart on homepage header details as item count and total price.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| productQuantity_01 | 1 |
| productQuantity_02 | 2 |
| productNumber_02 | ${productNumber_typeOptionProduct} |
| productNumber_01 | ${productNumber_typeProduct} |
Defined Outside
| Name | Value |
|---|---|
| productQuantity_02_varDynamic | N/A |
| productPriceTotal_02_varDynamic | N/A |
| productName_02_varDynamic | N/A |
| totalsSubtotal_varDynamic | N/A |
| productName_01_varDynamic | N/A |
| productQuantity_01_varDynamic | N/A |
| productPriceTotal_01_varDynamic | N/A |
Dynamic Variables
— none —
tests.minicart TMiniCartValidateStructure
Test add and remove product in mini cart. Caution: Browser window needs to be 1200 pixels wide to show totals subtotal in header.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
- Add basic product to cart
2. Scope of test
- Validate mini cart header
- Validate mini cart header items
- Open mini cart body
- Validate product inside mini cart body
- Validate subtotal inside mini cart body
- Remove product from cart
- Validate empty cart
- Validate empty mini cart
3. Clean up
- End session and clean up created cookies
Steps
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
Flow to add (basic) product with quantity to cart.
- Start on search
- Search product via number
- Set quantity on PDP
- Store basic details on PDP
- Add to cart on PDP
- Go to Cart via global header link
- Validate product row basic details
- Store product price total
- End on cart
-
VIewMiniCart
-
Validate minicart on homepage header.
-
Caution: Browser window needs to be 1200 pixels wide to show totals subtotal in header.
-
Hover mini cart link to ensure that body remains open.
-
Validate minicart popup.
-
Validate minicart row with product name, product quantity and product price total.
-
Validate minicart subtotal.
-
RemoveProduct
-
Click remove product from cart.
-
Validate cart is empty.
-
Validate minicart on homepage header details as item count and total price.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| productNumber | ${productNumber_typeProduct} |
| productQuantity | 1 |
Defined Outside
| Name | Value |
|---|---|
| productName_varDynamic | N/A |
| productQuantity_varDynamic | N/A |
| productPriceTotal_varDynamic | N/A |
Dynamic Variables
— none —
tests.search TSearchResultsValidateArticles
Test search for articles.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
2. Scope of test
- Search for text
- Leads to no products but found articles
- Click articles link
- Validate articles results page
3. Clean up
- End session and clean up created cookies
Steps
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
Search
-
Enter and submit text in search.
-
Validate search string on results page.
-
ViewArticles
-
Click articles link in search results page.
-
Validate articles catalog page.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| searchText | ${searchText_articlesContent} |
Defined Outside
— none —
Dynamic Variables
— none —
tests.search TSearchResultsValidateEmpty
Test search for no products found.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
2. Scope of test
- Search for text
- Leads to an empty search result page with suggestion
- Validate empty search result
3. Clean up
- End session and clean up created cookies
Steps
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
Search
-
Enter and submit text in search.
-
Validate search string on results page.
-
Validate product not found page with shop suggestion
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| searchText | ${searchText_noContent} |
Defined Outside
— none —
Dynamic Variables
— none —
tests.search TSearchResultsValidateProductCatalogPage
Test search for multiple product results.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
2. Scope of test
- Search for text
- Leads to multiple product results
- Validate result page (similar to catalog page)
- Select a product
- Validate product detail page
3. Clean up
- End session and clean up created cookies
Steps
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
Search
-
Enter and submit text in search.
-
Validate search string on results page.
-
Validate results page if products found.
-
PDP
-
Click and go to product randomly on catalog page.
-
Validate product detail page.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| searchText | ${searchText_categoryName} |
Defined Outside
— none —
Dynamic Variables
— none —
tests.search TSearchResultsValidateProductDetailPage
Test search for single product result.
1. Setup and preparation
- Start session, open homepage and delete all visible cookies
2. Scope of test
- Search for text
- Leads to single product result (product detail page)
- Validate product detail page
3. Clean up
- End session and clean up created cookies
Steps
-
Flow to start session.
- Start with open browser tab
- Open homepage
- Delete cookies
- Open homepage
- End on homepage
-
Search
-
Enter and submit text in search.
-
Validate product detail page.
-
Validate product number.
-
Flow to end session.
- Start on homepage
- Open homepage
- Delete cookies
- Close homepage
- End on homepage
- Close browser tab (optional)
Test Data
Defined Inside
| Name | Value |
|---|---|
| searchText | ${searchText_productNumber} |
Defined Outside
— none —
Dynamic Variables
— none —


|
|
||||||||||||||||||||||
|
Personal Information
Full Name: {Salutation} {FirstName} {MiddleName} {LastName} {Suffix} Date of Birth: {DOB} Gender: {Gender} Language: {LocalizationName} Source: {LeadSource} Disposition: {LeadDisposition} Email: {Email} Home Phone: {PhoneHome} Work Phone: {PhoneWork} Mobile Phone: {PhoneMobile} Generated Date: {CreatedOn} |
|
Sales Rep Information
Rep ID: {RepId} Full Name: {RepFullName} Recruited Date: {RepRecruitedDate} Email: {RepEmail} Home Phone: {RepPhoneHome} Mobile Phone: {RepPhoneCell} Fax: {RepPhoneFax} Company: {RepCompanyName} Rep Account is Locked |
||||||||||||||||||||
|
Notes And Events
|


--- title: SproutCore - Page Not Found id: 404 ---
I'm afraid there's nothing here! You may be able to find what you're looking for using the search field above.


This is a simple demo of injecting Blockly into a fixed-sized 'div' element.
→ More info on injecting fixed-sized Blockly…


Summary: Latitude vs. X
The purpose of this project was to analyze how weather changes as you get closer to the equator. In This project you will be able to see the
coorilation of Humidity, Wind Speeds, Max Temperature, and Cloudiness.
To accomplish this analysis, we first pulled data from the OpenWeatherMap API to assemble a dataset on over 500
cities.
After assembling the dataset, we used Matplotlib to plot various aspects of the weather vs. latitude. Factors
we looked at included: temperature, cloudiness, wind speed, and humidity. This site provides the souce data
and visualizations created as part of the analysis, as well as explanations and descriptions of any trends and
correlations witnesseed.


This site demonstrate simple Image Processing library is written on p5.js. This contains methods to process grayscale images. Transforming p5.Image to a grayscale image object for grayscale image processing using rgbToGray() method. Different types of basic image processing functions included in the library. Invention, Log Transformation, Power Transformation, Rotation, Display and Thresholding. Also some of the advanced methods like image sharpening and Edge detection using first order derivative.
| Method Name | Description |
|---|---|
| rgbTogray() | Convert p5.Image in to Gray scale image |
| displayGray() | Display a Gray scale image |
| threshold() | Threshold an image for a given value [0,255] |
| invert() | Invert an image |
| logTransform() | Perform the log transformation of an image |
| powerLowTransform() | Perform the power low transformation of an image |
| rotate() | Rotate an image |
| edge() | Calculate the first derivative of the image vector |


Man stabbed in Scottish railway station after altercation with large group
by Scotsman ReporterA man has been treated in hospital following a stabbing in a railway station car park.
The victim, in his 50s, was attacked by two men following an altercation in Station Road in Blantyre, South Lanarkshire, in the early hours of Sunday.
His attackers were part of a larger group that included women, who all ran back in the direction of Station Road after the attack in the car park.
British Transport Police (BTP) said the victim needed hospital treatment for an injury that was not life-threatening. He has since been released.
They are appealing for information about the incident, which happened at 1.12am on Sunday in the car park at Blantyre railway station.
READ MORE - How cold does it need to be before you’re legally allowed to go home from work in Scotland?
Among the group were three men, one of whom was between 5ft 10in and 6ft, aged between 20 and 40, of stocky build and with dark hair.
He was wearing a khaki jacket with a patch on the left sleeve, blue jeans and white trainers.
The other two men were both white and between 5ft 8in and 5ft 10in.
One was aged between 20 and 40, with short dark hair and of slim build.
He was wearing a dark jacket with a large white patch on the shoulder area of each sleeve, light blue jeans and white trainers.
The other man was of heavy build and was wearing a dark hooded tracksuit top with a white stripe down each sleeve, dark shorts, black socks and white trainers.
The two women were both white and aged between 18 and 25.
READ MORE - Scottish police hunt missing restricted patient
One was of slim build with short dark hair tied into a bun and was wearing a black jacket, light-coloured trousers and white trainers.
The other was of heavy build and had short dark hair tied up. She was wearing a black jacket with a fur-lined hood, blue jeans and dark shoes.
Anyone with information is asked to contact BTP by texting 61016 or by calling 0800 40 50 40 and quoting reference number 40 of 24/11/19, or call Crimestoppers anonymously on 0800 555 111.


|
|
def | __init__ |
| |
|
def | name |
| |
|
def | set_name |
| |
|
def | clear_name |
| |
|
def | has_name |
| |
|
def | value |
| |
|
def | mutable_value |
| |
|
def | clear_value |
| |
|
def | has_value |
| |
|
def | cursor |
| |
|
def | set_cursor |
| |
|
def | clear_cursor |
| |
|
def | has_cursor |
| |
|
def | MergeFrom |
| |
|
def | ParseASCII |
| |
|
def | ParseASCIIIgnoreUnknown |
| |
|
def | Equals |
| |
|
def | IsInitialized |
| |
|
def | ByteSize |
| |
|
def | ByteSizePartial |
| |
|
def | Clear |
| |
|
def | OutputUnchecked |
| |
|
def | OutputPartial |
| |
|
def | TryMerge |
| |
|
def | __str__ |
| |
|
|
| lazy_init_lock_ |
| |
|
| has_name_ |
| |
|
| name_ |
| |
|
| has_value_ |
| |
|
| has_cursor_ |
| |
|
| cursor_ |
| |
|
|
int | has_name_ = 0 |
| |
|
string | name_ = "" |
| |
|
int | has_value_ = 0 |
| |
|
| value_ = None |
| |
|
int | has_cursor_ = 0 |
| |
|
string | cursor_ = "" |
| |
|
int | kname = 1 |
| |
|
int | kvalue = 2 |
| |
|
int | kcursor = 3 |
| |
The documentation for this class was generated from the following file:
- code/googleappengine-read-only/python/google/appengine/datastore/datastore_v4_pb.py


Puppet MeetUp! Foreman demo and overview
FNB Randburg - 2015-04-21 18:45
Hi AllPlease join us for our second meetup.
Jayendren is going to give a talk on Foreman.
The second talk is not finalized so please give us your input on the mailing list. With the imminent release of puppet 4, perhaps a puppet 4 introduction/changes.
Presentation:
Demos:


Posted by Kjads on September 24, 2016
Posted by Kitzs on September 18, 2016
Posted by Jamboy on August 24, 2014
Posted by KitRon on July 8, 2016


My name is Patrick DeWitte, and I am diving head first into the world of web development, through the immersive Dev Bootcamp experience. It is my goal to learn how to create technology that aids in the rights management and payment of artists, songwriters, publishers, and record labels.
For the last ten years of my life I've been professionally involved in bringing live or recorded music to fans all over the country. Here are just a few highlights from my music career so far...
Starting in 2006 as an audio engineer for the PBS concert series Soundstage, I was able to work with household names like Stevie Nicks, Bon Jovi and Josh Groban, as well as then booming independent acts like Dashboard Confessional, Death Cab For Cutie, and Fall Out Boy.
In 2010, I was a tour manager for an independent Chicago band called A Lull, beginning with a two week long tour supporting Cold War Kids throughout the US and Canada. Along with a brief stint with the group Empires, tour managing took me through most of the US, and parts of Canada.
In mid 2011, I began engineering for a live-performance series called Audiotree Live. As the company was very new, there was much to be done in the realms of licensing, distribution, and general rights managemnet. All of this, I took upon myself to learn and implement within the company. Over 600 bands later, Audiotree is a formidable promotional tool for independent artists, as well as an additional monetary tool thanks to Audiotree's distribution via Spotify, iTunes, and other major music retailers.
It is my goal, upon completion of my Dev Bootcamp education, to find a way to unify music rights holders, be they songwriters, publishers, or record labels, and the music technologies that use their copyrights. Much ink has been spilled over who owns how much of a song, who owes which party how much, and why so few think they're earning enough. I want to be the guy that connects the dots for everyone involved, so that everyone can thrive.
I am a lifelong Illinois resident, and I currently reside in Chicago, IL (though I'm open to relocating). When I'm not learning how to develop web technology, I am slow-smoking BBQ, baking traditional French breads, or working my way through the Criterion Collection.


An example CRA case project implemented using MDEOptimiser can be found in this repository.
Introduction
Scrum, is a process management framework that proposes the use of fixed time iterations, also called sprints, during which a set of tasks defined as user stories are implemented, tested and released into the product under development.
The key artifacts of Scrum are the product, product backlog and the sprint backlog. The product backlog is the list of all user stories that when implemented will result in a completed product. The sprint backlog is the list of user stories which the team aim to complete in a sprint. Each user story has an estimated effort metric associated, also called story points, which denotes the required effort to complete the work. A user story is said to be done after all the development and testing work has been done and the output has been signed off and integrated in the final product. The product owner is in charge of prioritising the backlog to make sure the most important user stories are worked on first. For the duration of a project, the development team completes several sprints. The average number of story points resulting from the completed user stories in a sprint is also known as team velocity.
In this case study we will consider that the user stories forming the backlog have an Importance metric, denoting how important they are for a stakeholder, in addition to the Effort metric, which shows the required effort for completion. The product owner is required to prioritise these tasks so that the average stakeholder importance is equally distributed across the sprints required to implement the work items in the backlog. We call this objective the Stakeholder Satisfaction Index and we calculate it as the standard deviation of average stakeholder importance across sprints.
Implementation
In the figure above, we show a metamodel of this problem. The goal of the problem is to assign WorkItem elements to a number of Sprints with the following objectives:
1. [Objective 1] minimise the Sprint effort deviation;
2. [Objective 2] minimise the Stakeholder Satisfaction Index.
The problem also has the following constraints:
1. [Constraint 1] all WorkItem entities must be assigned to a Sprint;
2. [Constraint 2] no solution must have more than a specified maximum number of allowed Sprints.
To explore the search space of the Scrum Planning problem, the mutation operators must create Sprint entities and assign WorkItem elements to them, until all the WorkItem elements belong to a Sprint. The solution constraints include a refined multiplicity (with a lower bound of 1) for the sprints edge between a Plan and Sprint and also for the isPlannedFor edge between a WorkItem and a Sprint.
In the figure below we show an implementation of the case study using our DSL.
In our implementation we have used four mutation operators to explore the search space. These have been implemented using Henshin and are shown in the figure below.
Automatic mutation generation
In the figure below, we include an example of the DSL that allows the user to specify the nodes


,
,
no results found
Webcams provided by webcams.travel
,
[
(
)]
/
Celcius
Fahrenheit
Notifications
source:
YR
WWO
Yahoo


I had my first encounters with computing at the university, using the physics faculty mainframe, which was housed in its own free-standing octagonal house and programmed in assembler at the single existing console or using punched cards. In higher semesters, I worked as a tutor for Basic and Pascal programming. My thesis on numerical solutions to stiff differential equations was written in Fortran.
At CPP Software I worked on PCs, MS-DOS, the C programming language and the graphical user interface GEM, long before Windows was available. My main responsibility was GEM application development. Under GEM, I gathered valuable experience on GUI and event-driven programming, multi-tasking, device drivers, portable and device independent programming, which were otherwise ignored in the PC world at that time.
At NTS, my first task was the very rapid development and installation of a complete point-of-sale cash register network system with dumb terminals on a Z8001-based 32-bit multitasking multiprocessor communication multiplexer, where my CCP experience came in extremely handy.
At Autodesk, my main task was the one of European 'Technology Evangelist', absorbing, structuring and disseminating knowledge on all AutoCAD programming facilities to the external independent third party application developers. I gave support, held presentations, and arranged bi-annual conferences across all of Europe. Besides that, I was also involved in some software development. I assisted some major accounts in their analysis, design and implementation, among others the South African facilities company Eskom in two multi-week visits, and the German construction company Hochtief in Frankfurt. At Autodesk, I also gathered experience on various Unix and other non-Intel operating system flavours such as Sun, HP, IBM, Apollo, DEC etc.
Later, I became one of the main implementers of the Autodesk version of the Industry Foundation Classes or IFC defined by the International Alliance for Interoperability. After moving from Autodesk to RoCAD, I was asked by Autodesk to pick up my work on the IFC again on a consultancy basis due to my in-depth experience in the subject, and to create a new implementation and public demonstration for the German ACS fair.
Just before my departure from Autodesk in 1994, the new object oriented C++ API ObjectARX was added to AutoCAD. Since I was the only Autodesk supporter with C++ and object-oriented programming experience worldwide, it was my pleasure and honour to prepare and hold the very first ARX programming courses in the USA for some selected partners from the USA, Japan and Europe.
At RoCAD, my main task was pure software development again, especially for the large HVAC application "RoCAD für die Haustechnik". A prior version in AutoLISP was being successfully marketed, but there was no internal documentation and it was no longer maintainable. My task was the analysis, design and reimplementation of an object-oriented C++ version. During my work on RoCAD, I gathered in-depth experience in numerous specialized areas of software development, which are listed in the separate section on expertise and in the professional reference by Christoph Aschenbrenner.
During my work on RoCAD, I also undertook a number of consulting projects.


library(magrittr)
library(dplyr)
library(ggplot2)
theme_set(theme_bw())
library(mgcv)
library(survival)
library(pamm)
Set1 <- RColorBrewer::brewer.pal(9, "Set1")
In some cases the proportional hazards assumption for different groups (levels of a factor variable) is violated. One approach to resolve this problem is to fit a so called stratified Cox model, where each level \(k=1,\ldots,K\) of factor variable \(z\) will have its own baseline-hazard:
\(\lambda(t|z, x)=\lambda_{0k}(t, z)\exp(x'\beta)\).
For illustration we again use the veteran
data (censored at day 400) from the survival
package, where the celltype of the lung cancer had four levels:
data("veteran")
veteran %<>%
mutate(
trt = 1*(trt == 2),
prior = 1*(prior==10)) %>%
filter(time < 400) # restriction for illustration
table(veteran$celltype)
##
## squamous smallcell adeno large
## 30 48 27 26
Fitting a stratified Cox model using the coxph
function from the survival
package is simple, including a strata
term in the model formula.
The different baselines are visualized below:
We can obtain similar results with PAMs by fitting one smooth baseline estimate for each category of celltype
in the data. Technically, we specify the by
argument in mgcv
s(...)
function.
Note that in contrast to the model specification in coxph
we need to include the celltype
factor variable in the model specification:
ped <- split_data(Surv(time, status)~., data=veteran, id="id")
pam <- gam(ped_status ~ celltype + s(tend, by=celltype), data=ped,
family=poisson(), offset=offset)
Comparing the estimated baselines we get very similar results between the stratified Cox and stratified PAM models.
pinf <- ped %>%
group_by(celltype) %>%
ped_info() %>%
add_cumhazard(pam) %>%
rename(strata=celltype) %>%
filter(!(strata == "adeno" & tend > 200))
baseline_gg + aes(col="Nelson-Aalen") +
geom_line(data=pinf, aes(x=tend, y=cumhazard, group=strata, col="PAM")) +
geom_ribbon(data=pinf, aes(x=tend, ymin=cumlower, ymax = cumupper,
group=strata), fill = "black", col = NA, alpha = .2) +
facet_wrap(~strata, nrow=1) +
scale_color_manual(name="Method", values=c(Set1[1], 1)) +
theme(legend.position = "bottom")
Both models can be easily extended to incorporate further covariates. If we assume that the covariate effects are not time-varying, this extension constitutes a so called stratified proportional hazards model. For example, including effects for treatment (trt
), age (age
) and the Karnofsky Score (karno
), we get the model
\[ \lambda(t|z, \mathbf{x}) = \lambda_{0k}(t)\exp(\beta_1 I(trt=1) + \beta_2\cdot x_{karno} + \beta_3\cdot x_{age}) \] where \(\lambda_{0k}(t)\) is the baseline for observation with celltype \(k\), \(k\in \{squamos,\ smallcell,\ adeno,\ large\}\):
cph2 <- update(cph, .~. + trt + age + karno)
pam2 <- update(pam, .~. + trt + age + karno)
cbind(pam=coef(pam2)[5:7], cox=coef(cph2))
## pam cox
## trt 0.31096123 0.32764309
## age -0.01642337 -0.01679495
## karno -0.03670427 -0.03696870
Again, covariate estimates are very similar between the two models and can be interpreted in the same way.