pull/169/merge
Hammad Rashid 2 years ago committed by GitHub
commit d67ae70bfb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -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')

@ -8,6 +8,6 @@
</head> </head>
<body> <body>
<h1>Project Starter</h1> <h1>Project Starter</h1>
<script src="script.js"></script> <!-- <script src="script.js"></script> -->
</body> </body>
</html> </html>

Loading…
Cancel
Save