Merge 18050ccdca
into 236f68461b
commit
d67ae70bfb
@ -0,0 +1,9 @@
|
|||||||
|
const { defineConfig } = require("cypress");
|
||||||
|
|
||||||
|
module.exports = defineConfig({
|
||||||
|
e2e: {
|
||||||
|
setupNodeEvents(on, config) {
|
||||||
|
// implement node event listeners here
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
@ -0,0 +1,50 @@
|
|||||||
|
describe('Project 2: 3d-Boxes-Background', () => {
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.visit('http://127.0.0.1:5500/3d-boxes-background/')
|
||||||
|
})
|
||||||
|
|
||||||
|
it('Opens the Home Page', () => {
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
it('White Background color', () => {
|
||||||
|
cy.get('body').should('have.css', 'background-color', 'rgb(250, 250, 250)')
|
||||||
|
})
|
||||||
|
|
||||||
|
it('Screen is visible', () => {
|
||||||
|
cy.get('body').should('be.visible')
|
||||||
|
})
|
||||||
|
|
||||||
|
it('Magic Button is visible', () => {
|
||||||
|
cy.get('.magic').should('be.visible')
|
||||||
|
})
|
||||||
|
|
||||||
|
it('Magic Button is clickable', () => {
|
||||||
|
cy.get('.magic').should('be.visible').click()
|
||||||
|
})
|
||||||
|
|
||||||
|
it('Small Boxes are visible on the screen', () => {
|
||||||
|
cy.get('.boxes').should('be.visible')
|
||||||
|
})
|
||||||
|
|
||||||
|
it('Magic button when clicked, the boxes merge into one box', () => {
|
||||||
|
cy.get('.magic').should('be.visible').click()
|
||||||
|
cy.get('.box').should('be.visible')
|
||||||
|
})
|
||||||
|
|
||||||
|
context('Magic Button toggle', () => {
|
||||||
|
before(() => {
|
||||||
|
cy.visit('http://127.0.0.1:5500/3d-boxes-background/')
|
||||||
|
cy.get('.magic').should('be.visible').click()
|
||||||
|
cy.get('.box').should('be.visible')
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
it('If Magic button is toggled, then the box changes to small boxes', () => {
|
||||||
|
cy.get('.magic').should('be.visible').click()
|
||||||
|
cy.get('.boxes').should('be.visible')
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
})
|
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "Using fixtures to represent data",
|
||||||
|
"email": "hello@cypress.io",
|
||||||
|
"body": "Fixtures are a great way to mock data for responses to routes"
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
// ***********************************************
|
||||||
|
// This example commands.js shows you how to
|
||||||
|
// create various custom commands and overwrite
|
||||||
|
// existing commands.
|
||||||
|
//
|
||||||
|
// For more comprehensive examples of custom
|
||||||
|
// commands please read more here:
|
||||||
|
// https://on.cypress.io/custom-commands
|
||||||
|
// ***********************************************
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// -- This is a parent command --
|
||||||
|
// Cypress.Commands.add('login', (email, password) => { ... })
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// -- This is a child command --
|
||||||
|
// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... })
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// -- This is a dual command --
|
||||||
|
// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... })
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// -- This will overwrite an existing command --
|
||||||
|
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
|
@ -0,0 +1,20 @@
|
|||||||
|
// ***********************************************************
|
||||||
|
// This example support/e2e.js is processed and
|
||||||
|
// loaded automatically before your test files.
|
||||||
|
//
|
||||||
|
// This is a great place to put global configuration and
|
||||||
|
// behavior that modifies Cypress.
|
||||||
|
//
|
||||||
|
// You can change the location of this file or turn off
|
||||||
|
// automatically serving support files with the
|
||||||
|
// 'supportFile' configuration option.
|
||||||
|
//
|
||||||
|
// You can read more here:
|
||||||
|
// https://on.cypress.io/configuration
|
||||||
|
// ***********************************************************
|
||||||
|
|
||||||
|
// Import commands.js using ES2015 syntax:
|
||||||
|
import './commands'
|
||||||
|
|
||||||
|
// Alternatively you can use CommonJS syntax:
|
||||||
|
// require('./commands')
|
@ -0,0 +1,28 @@
|
|||||||
|
from selenium import webdriver
|
||||||
|
import time
|
||||||
|
from selenium.webdriver.chrome.service import Service
|
||||||
|
from selenium.webdriver.common.by import By
|
||||||
|
from selenium.webdriver.common.keys import Keys
|
||||||
|
from selenium.webdriver.chrome.options import Options
|
||||||
|
|
||||||
|
# Define Chrome WebDriver options
|
||||||
|
chrome_options = Options()
|
||||||
|
# chrome_options.add_argument("--headless") # Run headless if needed
|
||||||
|
service = Service('/Users/mac005/Downloads/chromedriver-mac-arm64/chromedriver')
|
||||||
|
|
||||||
|
# Initialize Chrome WebDriver
|
||||||
|
driver = webdriver.Chrome(service=service, options=chrome_options)
|
||||||
|
|
||||||
|
# Open Google
|
||||||
|
driver.get('http://127.0.0.1:5500/3d-boxes-background')
|
||||||
|
|
||||||
|
element = driver.find_element(By.TAG_NAME, 'body')
|
||||||
|
|
||||||
|
# Get the CSS value for the 'background-color' property of the element
|
||||||
|
background_color = element.value_of_css_property('background-color')
|
||||||
|
|
||||||
|
time.sleep(5)
|
||||||
|
|
||||||
|
print('The color is: ', background_color)
|
||||||
|
|
||||||
|
driver.quit()
|
@ -0,0 +1,32 @@
|
|||||||
|
from selenium import webdriver
|
||||||
|
from selenium.webdriver.chrome.service import Service
|
||||||
|
from selenium.webdriver.common.by import By
|
||||||
|
from selenium.webdriver.common.keys import Keys
|
||||||
|
from selenium.webdriver.chrome.options import Options
|
||||||
|
|
||||||
|
# Define Chrome WebDriver options
|
||||||
|
chrome_options = Options()
|
||||||
|
# chrome_options.add_argument("--headless") # Run headless if needed
|
||||||
|
service = Service('/Users/mac005/Downloads/chromedriver-mac-arm64/chromedriver')
|
||||||
|
|
||||||
|
# Initialize Chrome WebDriver
|
||||||
|
driver = webdriver.Chrome(service=service, options=chrome_options)
|
||||||
|
|
||||||
|
# Open Google
|
||||||
|
driver.get('https://www.google.com')
|
||||||
|
|
||||||
|
# Find the search bar by name attribute (assuming the name is 'q')
|
||||||
|
search_box = driver.find_element(By.NAME, 'q')
|
||||||
|
|
||||||
|
# Enter a search query and submit
|
||||||
|
search_box.send_keys('Selenium WebDriver')
|
||||||
|
search_box.send_keys(Keys.RETURN)
|
||||||
|
|
||||||
|
# Wait for results (not necessary in this case, but useful for pages with dynamic content)
|
||||||
|
driver.implicitly_wait(10) # 5 seconds
|
||||||
|
|
||||||
|
# Perform Assertions (for example, check the title of the search results page)
|
||||||
|
assert 'Selenium WebDriver' in driver.title
|
||||||
|
|
||||||
|
# Close the browser
|
||||||
|
driver.quit()
|
@ -0,0 +1,21 @@
|
|||||||
|
from selenium import webdriver
|
||||||
|
import time
|
||||||
|
from selenium.webdriver.chrome.service import Service
|
||||||
|
from selenium.webdriver.common.by import By
|
||||||
|
from selenium.webdriver.common.keys import Keys
|
||||||
|
from selenium.webdriver.chrome.options import Options
|
||||||
|
|
||||||
|
# Define Chrome WebDriver options
|
||||||
|
chrome_options = Options()
|
||||||
|
# chrome_options.add_argument("--headless") # Run headless if needed
|
||||||
|
service = Service('/Users/mac005/Downloads/chromedriver-mac-arm64/chromedriver')
|
||||||
|
|
||||||
|
# Initialize Chrome WebDriver
|
||||||
|
driver = webdriver.Chrome(service=service, options=chrome_options)
|
||||||
|
|
||||||
|
# Open Google
|
||||||
|
driver.get('http://127.0.0.1:5500/3d-boxes-background')
|
||||||
|
|
||||||
|
time.sleep(5)
|
||||||
|
|
||||||
|
driver.quit()
|
@ -0,0 +1,32 @@
|
|||||||
|
from selenium import webdriver
|
||||||
|
import time
|
||||||
|
from selenium.webdriver.chrome.service import Service
|
||||||
|
from selenium.webdriver.common.by import By
|
||||||
|
from selenium.webdriver.common.keys import Keys
|
||||||
|
from selenium.webdriver.chrome.options import Options
|
||||||
|
|
||||||
|
# Define Chrome WebDriver options
|
||||||
|
chrome_options = Options()
|
||||||
|
# chrome_options.add_argument("--headless") # Run headless if needed
|
||||||
|
service = Service('/Users/mac005/Downloads/chromedriver-mac-arm64/chromedriver')
|
||||||
|
|
||||||
|
# Initialize Chrome WebDriver
|
||||||
|
driver = webdriver.Chrome(service=service, options=chrome_options)
|
||||||
|
|
||||||
|
# Open Google
|
||||||
|
driver.get('http://127.0.0.1:5500/3d-boxes-background')
|
||||||
|
|
||||||
|
element = driver.find_element(By.CLASS_NAME, 'magic').click()
|
||||||
|
|
||||||
|
bigbox = driver.find_element(By.CLASS_NAME, 'box')
|
||||||
|
|
||||||
|
time.sleep(2)
|
||||||
|
|
||||||
|
element = driver.find_element(By.CLASS_NAME, 'magic').click()
|
||||||
|
|
||||||
|
bigbox = driver.find_element(By.ID, 'boxes')
|
||||||
|
|
||||||
|
time.sleep(5)
|
||||||
|
|
||||||
|
print('The button has been clicked successfully.')
|
||||||
|
driver.quit()
|
@ -0,0 +1,37 @@
|
|||||||
|
from selenium import webdriver
|
||||||
|
import time
|
||||||
|
from selenium.webdriver.chrome.service import Service
|
||||||
|
from selenium.webdriver.common.by import By
|
||||||
|
from selenium.webdriver.common.keys import Keys
|
||||||
|
from selenium.webdriver.chrome.options import Options
|
||||||
|
|
||||||
|
# Define Chrome WebDriver options
|
||||||
|
chrome_options = Options()
|
||||||
|
# chrome_options.add_argument("--headless") # Run headless if needed
|
||||||
|
service = Service('/Users/mac005/Downloads/chromedriver-mac-arm64/chromedriver')
|
||||||
|
|
||||||
|
# Initialize Chrome WebDriver
|
||||||
|
driver = webdriver.Chrome(service=service, options=chrome_options)
|
||||||
|
|
||||||
|
# Open Google
|
||||||
|
driver.get('http://127.0.0.1:5500/3d-boxes-background')
|
||||||
|
|
||||||
|
element = driver.find_element(By.CLASS_NAME, 'magic')
|
||||||
|
|
||||||
|
# Color of the button
|
||||||
|
btncolor = element.value_of_css_property('background-color')
|
||||||
|
|
||||||
|
# Box shadow color of the button
|
||||||
|
btnboxshadowcolor = element.value_of_css_property('box-shadow')
|
||||||
|
|
||||||
|
# Color of the text
|
||||||
|
textcolor = element.value_of_css_property('color')
|
||||||
|
|
||||||
|
time.sleep(3)
|
||||||
|
|
||||||
|
print('The color of the button is: ', btncolor)
|
||||||
|
print('The box shadow color of the button is: ', btnboxshadowcolor)
|
||||||
|
print('The text color of the button text is: ', textcolor)
|
||||||
|
|
||||||
|
|
||||||
|
driver.quit()
|
@ -0,0 +1,9 @@
|
|||||||
|
const { defineConfig } = require("cypress");
|
||||||
|
|
||||||
|
module.exports = defineConfig({
|
||||||
|
e2e: {
|
||||||
|
setupNodeEvents(on, config) {
|
||||||
|
// implement node event listeners here
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
@ -0,0 +1,23 @@
|
|||||||
|
describe('Project 1: Project Starter', () => {
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.visit('http://127.0.0.1:5500/_project_starter_/')
|
||||||
|
})
|
||||||
|
|
||||||
|
it('Opens the Home Page', () => {
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
it('White Background color', () => {
|
||||||
|
cy.get('body').should('have.css', 'background-color', 'rgba(0, 0, 0, 0)')
|
||||||
|
})
|
||||||
|
|
||||||
|
it('Screen is visible', () => {
|
||||||
|
cy.get('body').should('be.visible')
|
||||||
|
})
|
||||||
|
|
||||||
|
it('Text is visible', () => {
|
||||||
|
cy.get('h1').should('have.text', 'Project Starter')
|
||||||
|
})
|
||||||
|
|
||||||
|
})
|
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "Using fixtures to represent data",
|
||||||
|
"email": "hello@cypress.io",
|
||||||
|
"body": "Fixtures are a great way to mock data for responses to routes"
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
// ***********************************************
|
||||||
|
// This example commands.js shows you how to
|
||||||
|
// create various custom commands and overwrite
|
||||||
|
// existing commands.
|
||||||
|
//
|
||||||
|
// For more comprehensive examples of custom
|
||||||
|
// commands please read more here:
|
||||||
|
// https://on.cypress.io/custom-commands
|
||||||
|
// ***********************************************
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// -- This is a parent command --
|
||||||
|
// Cypress.Commands.add('login', (email, password) => { ... })
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// -- This is a child command --
|
||||||
|
// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... })
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// -- This is a dual command --
|
||||||
|
// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... })
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// -- This will overwrite an existing command --
|
||||||
|
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
|
@ -0,0 +1,20 @@
|
|||||||
|
// ***********************************************************
|
||||||
|
// This example support/e2e.js is processed and
|
||||||
|
// loaded automatically before your test files.
|
||||||
|
//
|
||||||
|
// This is a great place to put global configuration and
|
||||||
|
// behavior that modifies Cypress.
|
||||||
|
//
|
||||||
|
// You can change the location of this file or turn off
|
||||||
|
// automatically serving support files with the
|
||||||
|
// 'supportFile' configuration option.
|
||||||
|
//
|
||||||
|
// You can read more here:
|
||||||
|
// https://on.cypress.io/configuration
|
||||||
|
// ***********************************************************
|
||||||
|
|
||||||
|
// Import commands.js using ES2015 syntax:
|
||||||
|
import './commands'
|
||||||
|
|
||||||
|
// Alternatively you can use CommonJS syntax:
|
||||||
|
// require('./commands')
|
Loading…
Reference in new issue