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