diff --git a/.idea/.gitignore b/.idea/.gitignore index e7e9d11..3e24f35 100644 --- a/.idea/.gitignore +++ b/.idea/.gitignore @@ -1,2 +1,6 @@ # Default ignored files +<<<<<<< HEAD /workspace.xml +======= +/workspace.xml +>>>>>>> remotes/origin/master diff --git a/JavaCore2.iml b/JavaCore2.iml index 6371e6f..553f4d2 100644 --- a/JavaCore2.iml +++ b/JavaCore2.iml @@ -11,6 +11,7 @@ + diff --git a/geckodriver.exe b/geckodriver.exe new file mode 100644 index 0000000..9fae8e0 Binary files /dev/null and b/geckodriver.exe differ diff --git a/gtestng.xml b/gtestng.xml new file mode 100644 index 0000000..02a45d2 --- /dev/null +++ b/gtestng.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/msedgedriver.exe b/msedgedriver.exe new file mode 100644 index 0000000..6856097 Binary files /dev/null and b/msedgedriver.exe differ diff --git a/onetest.xml b/onetest.xml index 1b5059f..70cad49 100644 --- a/onetest.xml +++ b/onetest.xml @@ -9,7 +9,7 @@ - + diff --git a/operadriver.exe b/operadriver.exe new file mode 100644 index 0000000..e69de29 diff --git a/screenshots/loginTest_createNewPlaylist_newPlaylistCreated.png b/screenshots/loginTest_createNewPlaylist_newPlaylistCreated.png new file mode 100644 index 0000000..709ba78 Binary files /dev/null and b/screenshots/loginTest_createNewPlaylist_newPlaylistCreated.png differ diff --git a/screenshots/new_loginTest_createNewPlaylist_newPlaylistCreated.png b/screenshots/new_loginTest_createNewPlaylist_newPlaylistCreated.png new file mode 100644 index 0000000..311d7f0 Binary files /dev/null and b/screenshots/new_loginTest_createNewPlaylist_newPlaylistCreated.png differ diff --git a/screenshots/new_scrollDown.png b/screenshots/new_scrollDown.png new file mode 100644 index 0000000..9faa15d Binary files /dev/null and b/screenshots/new_scrollDown.png differ diff --git a/screenshots/scrollDown.png b/screenshots/scrollDown.png new file mode 100644 index 0000000..6150490 Binary files /dev/null and b/screenshots/scrollDown.png differ diff --git a/src/main/java/HW1/work.java b/src/main/java/HW1/work.java new file mode 100644 index 0000000..a140fe0 --- /dev/null +++ b/src/main/java/HW1/work.java @@ -0,0 +1,23 @@ +package HW1; + + + +public class work { + + public static void main(String[] args) { + + System.out.println("Hello, my name is Sergey!"); + System.out.println("Hello, my last name is Kuznetsov!"); + String firstname= "Sergey"; + String lastname= "Kuznetsov"; + System.out.println("Hello, my name is " + firstname+lastname+ " and my favorite numbers are: 44 and 55"); + + + + + + + + } + +} diff --git a/src/main/java/HW10/amazon.java b/src/main/java/HW10/amazon.java new file mode 100644 index 0000000..fdebf81 --- /dev/null +++ b/src/main/java/HW10/amazon.java @@ -0,0 +1,48 @@ +package HW10; + +public class amazon { + private String founder; + private double value; + private String[] subDivision; + + public amazon(String founder, double value, String[] subDivision) { + this.founder = founder; + this.value = value; + this.subDivision = subDivision; + } + public amazon(){} + + public void setFounder(String founder) { + this.founder = founder; + } + + public String getFounder() { + return founder; + } + + public void setValue(double value) { + this.value = value; + } + + public double getValue() { + return value; + } + + public void setSubDivision(String[] subDivision) { + this.subDivision = subDivision; + } + + public String[] getSubDivision() { + return subDivision; + } + + public void printClass(){ + System.out.print("Array elements "); + for (String v:subDivision) { + System.out.print(" " + v); + } + System.out.println(); + System.out.println("Amazon " + founder + " " + value+" bln"); + System.out.println(); + } +} diff --git a/src/main/java/HW10/apple.java b/src/main/java/HW10/apple.java new file mode 100644 index 0000000..b3cb481 --- /dev/null +++ b/src/main/java/HW10/apple.java @@ -0,0 +1,48 @@ +package HW10; + +public class apple { + private String founder; + private double value; + private String[] products; + + public apple(String founder, double value, String[] products) { + this.founder = founder; + this.value = value; + this.products = products; + } + public apple(){} + + public void setFounder(String founder) { + this.founder = founder; + } + + public String getFounder() { + return founder; + } + + public void setValue(double value) { + this.value = value; + } + + public double getValue() { + return value; + } + + public void setProducts(String[] products) { + this.products = products; + } + + public String[] getProducts() { + return products; + } + + public void printClass(){ + System.out.print("Array elements "); + for (String v:products) { + System.out.print(" " + v); + } + System.out.println(); + System.out.println("Apple " + founder + " " + value+" bln"); + System.out.println(); + } +} diff --git a/src/main/java/HW10/spaceX.java b/src/main/java/HW10/spaceX.java new file mode 100644 index 0000000..a43c03f --- /dev/null +++ b/src/main/java/HW10/spaceX.java @@ -0,0 +1,50 @@ +package HW10; + +public class spaceX { + private String founder; + private double value; + private String[] vessel; + + public spaceX(String founder, double valued, String[] Vessel){ + this.founder = founder; + value = valued; + this.vessel = Vessel; + } + public spaceX(){} + + public void setFounder(String founder) { + this.founder = founder; + } + + public String getFounder() { + return founder; + } + + public void setValue(double value) { + this.value = value; + } + + public double getValue() { + return value; + } + + public void setVessel(String[] vessel) { + this.vessel = vessel; + } + + public String[] getVessel() { + return vessel; + } + + public void printClass() { + System.out.print("Array elements "); + for (String v : vessel) { + System.out.print(" " + v); + } + System.out.println(); + System.out.println("SpaceX" + founder + " " + value + " bln"); + System.out.println(); + } +} + + diff --git a/src/main/java/HW10/work.java b/src/main/java/HW10/work.java new file mode 100644 index 0000000..3e40640 --- /dev/null +++ b/src/main/java/HW10/work.java @@ -0,0 +1,30 @@ +package HW10; + +public class work { + public static void main(String[] args) { + + String[] merch = {"Books,", "Audio,", "Products,"}; + amazon amzFull = new amazon("Jeff Bezos", 949.76, merch); + amazon amzDef = new amazon(); + amzDef.setFounder("Jeff"); + amzDef.setValue(912.3); + amzDef.setSubDivision(merch); + amzDef.printClass(); + + String[] devices = {"iPhone,", "iPad,", "iPod,"}; + apple appleFull = new apple("Steve Jobs", 998.2, devices); + apple appleDef = new apple(); + appleDef.setFounder("Steve"); + appleDef.setValue(1082.3); + appleDef.setProducts(devices); + appleDef.printClass(); + + String[] vessels = {"Falcon 9,", "Super Heavy,", "Star Ship,"}; + spaceX spaceXFull = new spaceX("Elon Musk", 33.4, devices); + spaceX spaceXDef = new spaceX(); + spaceXDef.setFounder("Elon"); + spaceXDef.setValue(27.3); + spaceXDef.setVessel(vessels); + spaceXDef.printClass(); + } +} diff --git a/src/main/java/HW11/HDD.java b/src/main/java/HW11/HDD.java new file mode 100644 index 0000000..f4b6e48 --- /dev/null +++ b/src/main/java/HW11/HDD.java @@ -0,0 +1,43 @@ +package HW11; + +public class HDD { + private brands brand; + private String type; + private int vol; + + public HDD(brands brand, String type, int vol) { + this.brand = brand; + this.type = type; + this.vol = vol; + } + public HDD(){} + + public void setBrand(brands brand) { + this.brand = brand; + } + + public brands getBrand() { + return brand; + } + + public void setType(String type) { + this.type = type; + } + + public String getType() { + return type; + } + + + public void setVol(int vol) { + this.vol = vol; + } + + public int getVol() { + return vol; + } + + public void printInfo(){ + System.out.println("HDD = "+ brand); + } +} diff --git a/src/main/java/HW11/RAM.java b/src/main/java/HW11/RAM.java new file mode 100644 index 0000000..5e8908b --- /dev/null +++ b/src/main/java/HW11/RAM.java @@ -0,0 +1,52 @@ +package HW11; + +public class RAM { + private brands brand; + private String ramType; + private int ram; + private trims trim; + + public RAM(brands brand, String ramType, int ram, trims trim) { + this.brand = brand; + this.ramType = ramType; + this.ram = ram; + this.trim = trim; + } + public RAM(){} + + public void setBrand(brands brand) { + this.brand = brand; + } + + public brands getBrand() { + return brand; + } + + public void setRamType(String ramType) { + this.ramType = ramType; + } + + public String getRamType() { + return ramType; + } + + + public void setRam(int ram) { + this.ram = ram; + } + + public int getRam() { + return ram; + } + + public void setTrim(trims trim) { + this.trim = trim; + } + + public trims getTrim() { + return trim; + } + public void printInfo(){ + System.out.println("RAM = "+ brand); + } +} diff --git a/src/main/java/HW11/brands.java b/src/main/java/HW11/brands.java new file mode 100644 index 0000000..c88e3a1 --- /dev/null +++ b/src/main/java/HW11/brands.java @@ -0,0 +1,54 @@ +package HW11; + + + +public class brands { + private String name; + private int quality; + private String factoryLoc; + + public brands(String name, int quality, String factoryLoc) { + this.name = name; + this.quality = quality; + this.factoryLoc = factoryLoc; + } + + public brands() {} + + public void setName(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setQuality(int quality) { + this.quality = quality; + } + + public int getQuality() { + return quality; + } + + public void setFactoryLoc(String factoryLoc) { + this.factoryLoc = factoryLoc; + } + + public String getFactoryLoc() { + return factoryLoc; + } + + @Override + public String toString() { + return "brands{" + + "name='" + name + '\'' + + ", quality=" + quality + + ", factoryLoc='" + factoryLoc + '\'' + + '}'; + } + + public void printInfo(){ + System.out.println("Brand = "+ name); + } +} diff --git a/src/main/java/HW11/computer.java b/src/main/java/HW11/computer.java new file mode 100644 index 0000000..71f8048 --- /dev/null +++ b/src/main/java/HW11/computer.java @@ -0,0 +1,24 @@ +package HW11; + +public class computer { + private HW11.monitor monitor; + private HW11.sysBlock sysBlock; + private HW11.mouse mouse; + private HW11.keyboard keyboard; + + public computer(HW11.monitor monitor, HW11.sysBlock sysBlock, HW11.mouse mouse, HW11.keyboard keyboard) { + this.monitor = monitor; + this.sysBlock = sysBlock; + this.mouse = mouse; + this.keyboard = keyboard; + } + public void printInfo(){ + + sysBlock.printInfo(); + monitor.printInfo(); + keyboard.printInfo(); + mouse.printInfo(); + + } + +} diff --git a/src/main/java/HW11/graphic.java b/src/main/java/HW11/graphic.java new file mode 100644 index 0000000..31813ed --- /dev/null +++ b/src/main/java/HW11/graphic.java @@ -0,0 +1,52 @@ +package HW11; + +public class graphic { + private brands brand; + private String ramType; + private int ram; + private trims trim; + + public graphic(brands brand, String ramType, int ram, trims trim) { + this.brand = brand; + this.ramType = ramType; + this.ram = ram; + this.trim = trim; + } + public graphic(){} + + public void setBrand(String brands) { + this.brand = brand; + } + + public brands getBrand() { + return brand; + } + + public void setRamType(String ramType) { + this.ramType = ramType; + } + + public String getRamType() { + return ramType; + } + + + public void setRam(int ram) { + this.ram = ram; + } + + public int getRam() { + return ram; + } + + public void setTrim(trims trim) { + this.trim = trim; + } + + public trims getTrim() { + return trim; + } + public void printInfo(){ + System.out.println("Graphic card = "+ brand); + } +} diff --git a/src/main/java/HW11/keyboard.java b/src/main/java/HW11/keyboard.java new file mode 100644 index 0000000..2a95cd5 --- /dev/null +++ b/src/main/java/HW11/keyboard.java @@ -0,0 +1,17 @@ +package HW11; + +public class keyboard { + private brands brand; + + public keyboard(brands brand) { + this.brand = brand; + } + + public keyboard() { + } + + public void printInfo(){ + + System.out.println("Keyboard brand " + brand.getName()); + } +} diff --git a/src/main/java/HW11/monitor.java b/src/main/java/HW11/monitor.java new file mode 100644 index 0000000..2be4a25 --- /dev/null +++ b/src/main/java/HW11/monitor.java @@ -0,0 +1,24 @@ +package HW11; + +public class monitor { + private brands brand; + private String model; + private int diag; + + public monitor(brands brand, String model, int diag) { + this.brand = brand; + this.model = model; + this.diag = diag; + } + + public monitor() { + } + + + public void printInfo() { + System.out.println("Monitor brand " + brand.getName() + ", " + + "model " + model + ", " + + "diag " + diag); + + } +} diff --git a/src/main/java/HW11/motherBoard.java b/src/main/java/HW11/motherBoard.java new file mode 100644 index 0000000..d202efa --- /dev/null +++ b/src/main/java/HW11/motherBoard.java @@ -0,0 +1,62 @@ +package HW11; + +public class motherBoard { + private brands brand; + private String socketName; + private int ramGB; + private int socketNum; + private trims trim; + + public motherBoard(brands brand, String socketName, int ramGB, int socketNum, trims trim) { + this.brand = brand; + this.socketName = socketName; + this.ramGB = ramGB; + this.socketNum = socketNum; + this.trim = trim; + } + public motherBoard(){} + + public void setBrand(brands brand) { + this.brand = brand; + } + + public brands getBrand() { + return brand; + } + + public void setSocketName(String socketName) { + this.socketName = socketName; + } + + public String getSocketName() { + return socketName; + } + + public void setRamGB(int ramGB) { + this.ramGB = ramGB; + } + + public int getRamGB() { + return ramGB; + } + + public void setSocketNum(int socketNum) { + this.socketNum = socketNum; + } + + public int getSocketNum() { + return socketNum; + } + + public void setTrim(trims trim) { + this.trim = trim; + } + + public trims getTrim() { + return trim; + } + public void printInfo(){ + System.out.println("MB = "+ brand); + } + +} diff --git a/src/main/java/HW11/mouse.java b/src/main/java/HW11/mouse.java new file mode 100644 index 0000000..14c91de --- /dev/null +++ b/src/main/java/HW11/mouse.java @@ -0,0 +1,27 @@ +package HW11; + +public class mouse { + private brands brand; + + public mouse(brands brand) { + this.brand = brand; + } + + public mouse() { + } + + public void setBrand(brands brand) { + + + } + + public brands getBrand() { + return brand; + } + + + public void printInfo(){ + System.out.println("Mouse "+ brand.getName()); + + } +} diff --git a/src/main/java/HW11/processor.java b/src/main/java/HW11/processor.java new file mode 100644 index 0000000..94d1d91 --- /dev/null +++ b/src/main/java/HW11/processor.java @@ -0,0 +1,52 @@ +package HW11; + +public class processor { + private brands brand; + private String socketName; + private int socketNum; + private String cache; + + public processor(brands brand, String socketName, int socketNum, String cache) { + this.brand = brand; + this.socketName = socketName; + this.socketNum = socketNum; + this.cache = cache; + } + public processor(){} + + public void setBrand(brands brand) { + this.brand = brand; + } + + public brands getBrand() { + return brand; + } + + public void setSocketName(String socketName) { + this.socketName = socketName; + } + + public String getSocketName() { + return socketName; + } + + + public void setSocketNum(int socketNum) { + this.socketNum = socketNum; + } + + public int getSocketNum() { + return socketNum; + } + + public void setTrim(String trim) { + this.cache = trim; + } + + public String getTrim() { + return cache; + } + public void printInfo(){ + System.out.println("Processor = "+ brand); + } +} diff --git a/src/main/java/HW11/sysBlock.java b/src/main/java/HW11/sysBlock.java new file mode 100644 index 0000000..3041663 --- /dev/null +++ b/src/main/java/HW11/sysBlock.java @@ -0,0 +1,81 @@ +package HW11; + +public class sysBlock { + private motherBoard MB; + private HW11.processor processor; + private HDD hdd; + private RAM ram; + private HW11.graphic graphic; + private trims trim; + + public sysBlock(motherBoard MB, HW11.processor processor, HDD hdd, RAM ram, HW11.graphic graphic, trims trim) { + this.MB = MB; + this.processor = processor; + this.hdd = hdd; + this.ram = ram; + this.graphic = graphic; + this.trim = trim; + } + + public sysBlock() { + } + + public void setMB(motherBoard MB) { + this.MB = MB; + } + + public void setProcessor(HW11.processor processor) { + this.processor = processor; + } + + public void setHdd(HDD hdd) { + this.hdd = hdd; + } + + public void setRam(RAM ram) { + this.ram = ram; + } + + public void setGraphic(HW11.graphic graphic) { + this.graphic = graphic; + } + + public void setTrim(trims trim) { + this.trim = trim; + } + + public motherBoard getMB() { + return MB; + } + + public HW11.processor getProcessor() { + return processor; + } + + public HDD getHdd() { + return hdd; + } + + public RAM getRam() { + return ram; + } + + public HW11.graphic getGraphic() { + return graphic; + } + + public trims getTrim() { + return trim; + } + + public void printInfo(){ + System.out.println("System unit contains: " + + "Motherboard " + MB.getBrand().getName()+ MB.getSocketName() + '\'' + + ", processor '" + processor.getBrand().getName() + '\'' + + ", ram " + ram.getBrand().getName() + ram.getRam() + " GB" + '\'' + + ", hdd '" + hdd.getBrand().getName() + hdd.getType() + " " + hdd.getVol()+ " GB" + '\'' + + ", graphic '" + graphic.getBrand().getName()+ graphic.getRam()+ " GB" + '\'' + + ", trim '" + trim.getName() + '\'' + + " "); + } +} diff --git a/src/main/java/HW11/trims.java b/src/main/java/HW11/trims.java new file mode 100644 index 0000000..e940bbf --- /dev/null +++ b/src/main/java/HW11/trims.java @@ -0,0 +1,41 @@ +package HW11; + +public class trims { + private String name; + private String type; + private int costindex; + + public trims(String name, String type, int costindex) { + this.name = name; + this.type = type; + this.costindex = costindex; + } + + public void setName(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setType(String type) { + this.type = type; + } + + public String getType() { + return type; + } + + public void setCostindex(int costindex) { + this.costindex = costindex; + } + + public int getCostindex() { + return costindex; + } + + public void printInfo(){ + System.out.println("Trim = "+ type); + } +} diff --git a/src/main/java/HW11/work.java b/src/main/java/HW11/work.java new file mode 100644 index 0000000..b37b6a7 --- /dev/null +++ b/src/main/java/HW11/work.java @@ -0,0 +1,45 @@ +package HW11; + +public class work { + + public static void main(String[] args) { + + + + brands brandDevice = new brands("Logitech ", 98, "China"); + brands brandComponent = new brands("Samsung ", 81, "Korea"); + brands brandMB = new brands("ASUS ", 78, "China"); + brands branddProc = new brands("Intel ", 96, "US"); + + trims trimN = new trims("office", "not so awesome", 47); + trims trimA = new trims("Game", "AWESOME!", 100); + //Devices + mouse mouse = new mouse(brandDevice); + keyboard kb = new keyboard(brandDevice); + monitor monitor = new monitor(brandComponent, "LLDH32", 42); + //System + motherBoard MB = new motherBoard(brandMB,"LGA ", 4, 775, trimA); + processor processor = new processor(branddProc, "LPG", 775, "8MB"); + RAM ram = new RAM(brandComponent, "DDR4", 64, trimA); + graphic graphic = new graphic(brandMB, "DDR5", 8, trimA); + HDD hdd = new HDD(brandComponent, "SSD", 1000); + //Computer dell = new Computer(monitor,sys,mouse,kb); + if (MB.getTrim().getName() == "Game" && graphic.getTrim().getName() == "Game"){ + sysBlock sys = new sysBlock(MB, processor, hdd, ram, graphic, trimA); + computer dell = new computer(monitor,sys,mouse,kb); + System.out.println("Trim is " + trimA.getType()); + dell.printInfo(); + } else { + sysBlock sys = new sysBlock(MB, processor, hdd, ram, graphic, trimN); + computer dell = new computer(monitor,sys,mouse,kb); + System.out.println("Trim is " + trimN.getType()); + dell.printInfo(); + } + int qualityIndex = (MB.getBrand().getQuality()+ + ram.getBrand().getQuality()+ + hdd.getBrand().getQuality()+ + graphic.getBrand().getQuality()+ + processor.getBrand().getQuality())/5; + System.out.println("Total quality: " + qualityIndex); + } +} diff --git a/src/main/java/HW12/controls.java b/src/main/java/HW12/controls.java new file mode 100644 index 0000000..14715c1 --- /dev/null +++ b/src/main/java/HW12/controls.java @@ -0,0 +1,14 @@ +package HW12; + +public class controls { + private motorControl forward; + + public controls(motorControl forward) { + this.forward = forward; + } + + public motorControl getForward() { + return forward; + } + +} diff --git a/src/main/java/HW12/frontMotor.java b/src/main/java/HW12/frontMotor.java new file mode 100644 index 0000000..c73c5d9 --- /dev/null +++ b/src/main/java/HW12/frontMotor.java @@ -0,0 +1,26 @@ +package HW12; + +public final class frontMotor extends motor { + + private double turnRate; + + public frontMotor(String name, double voltage) { + super(name, voltage); + this.turnRate = turnRate; + } + + public void setTurnRate(int turnRate) { + this.turnRate = turnRate; + } + + @Override + public void setVoltage(double voltage) { + super.setVoltage(voltage); + } + + public double turnArmRate(){ + turnRate = power()/19.7; + System.out.println("Turn rate is " + Math.round(turnRate) + "° per sec"); + return turnRate; + } +} diff --git a/src/main/java/HW12/marsRoverMovement.java b/src/main/java/HW12/marsRoverMovement.java new file mode 100644 index 0000000..1b6878d --- /dev/null +++ b/src/main/java/HW12/marsRoverMovement.java @@ -0,0 +1,23 @@ +package HW12; + +public class marsRoverMovement extends rearMotor{ + private double distance; + + public marsRoverMovement(String name, double voltage, boolean direction, double distance) { + super(name, voltage, direction); + this.distance = distance; + } + + public double getDistance() { + return distance; + } + + public void setDistance(double distance) { + this.distance = distance; + } + + public double getDistancePower(){ + double distanceSet = distance/power(); + return distanceSet; + } +} diff --git a/src/main/java/HW12/motor.java b/src/main/java/HW12/motor.java new file mode 100644 index 0000000..76a97e1 --- /dev/null +++ b/src/main/java/HW12/motor.java @@ -0,0 +1,36 @@ +package HW12; + +public class motor { + + protected String name; + protected double voltage; + + + public motor(String name, double voltage) { + this.name = name; + this.voltage = voltage; + } + + public String getName() { + return name; + } + + public double getVoltage() { + return voltage; + } + + public void setName(String name) { + this.name = name; + } + + public void setVoltage(double voltage) { + this.voltage = voltage; + } + + public double power() { + double power = voltage * 12.4; + System.out.println("Power set to " + power); + return power; + } + +} diff --git a/src/main/java/HW12/motorControl.java b/src/main/java/HW12/motorControl.java new file mode 100644 index 0000000..ef29ff4 --- /dev/null +++ b/src/main/java/HW12/motorControl.java @@ -0,0 +1,18 @@ +package HW12; + +public class motorControl { + private motor motor1; + + public motorControl(motor motor1) { + this.motor1 = motor1; + } + + public void setMotor1(motor motor1) { + + + } + + public motor getMotor1() { + return motor1; + } +} diff --git a/src/main/java/HW12/rearMotor.java b/src/main/java/HW12/rearMotor.java new file mode 100644 index 0000000..23fed48 --- /dev/null +++ b/src/main/java/HW12/rearMotor.java @@ -0,0 +1,32 @@ +package HW12; + +public class rearMotor extends motor{ + protected double power; + protected boolean direction; + + public rearMotor(String name, double voltage, boolean direction) { + super(name, voltage); + //this.power = power; + this.direction = direction; + } + + public void setVoltage(int voltage) { + this.voltage = voltage; + } + + public double getVoltage() { + return voltage; + } + public void moveForward(){ + if (direction) { + System.out.println("Moving forward with " + power()); + return; + } + } + public void moveBackward() { + if (!direction) { + System.out.println("Moving backward with " + power()); + return; + } + } +} diff --git a/src/main/java/HW12/work.java b/src/main/java/HW12/work.java new file mode 100644 index 0000000..e94bce9 --- /dev/null +++ b/src/main/java/HW12/work.java @@ -0,0 +1,24 @@ +package HW12; + +public class work { + public static void main(String[] args) { +//_____________#1 + rearMotor marsExp = new rearMotor("rearLeft", 2.3, true); + frontMotor marsExpArm = new frontMotor("arm1", 1.5); + marsRoverMovement rollBack = new marsRoverMovement("motor1", 1.7, false, 3); + + marsExp.power(); + marsExp.moveForward(); + marsExpArm.turnArmRate(); + System.out.println("power setup for distance " + rollBack.getDistance() + " is " + rollBack.getDistancePower()); +//_______________#2 + System.out.println("__________________________________"); + motor motor1 = new motor("Motor1", 12.5); + motorControl motorControl = new motorControl(motor1); + controls sideStick = new controls(motorControl); + System.out.println("voltage is " + sideStick.getForward().getMotor1().getVoltage()); + + + + } +} diff --git a/src/main/java/HW13/gameBuilder.java b/src/main/java/HW13/gameBuilder.java new file mode 100644 index 0000000..1f47678 --- /dev/null +++ b/src/main/java/HW13/gameBuilder.java @@ -0,0 +1,7 @@ +package HW13; + +public interface gameBuilder { + public void shipPositionCalc(); + public void getShipCoordinate(); + +} diff --git a/src/main/java/HW13/gameOpt.java b/src/main/java/HW13/gameOpt.java new file mode 100644 index 0000000..ae946f1 --- /dev/null +++ b/src/main/java/HW13/gameOpt.java @@ -0,0 +1,16 @@ +package HW13; + +public class gameOpt implements gameBuilder{ + + + public void shipPositionCalc() { + System.out.println("Calculating initial position for options"); + } + + + public void getShipCoordinate() { + System.out.println("Coordinates for Option"); + } + + +} diff --git a/src/main/java/HW13/gameSetup.java b/src/main/java/HW13/gameSetup.java new file mode 100644 index 0000000..4d4805a --- /dev/null +++ b/src/main/java/HW13/gameSetup.java @@ -0,0 +1,17 @@ +package HW13; + +public class gameSetup implements gameBuilder{ + + public gameSetup() { + } + + + public void shipPositionCalc() { + System.out.println("Calculating initial position"); + } + + + public void getShipCoordinate() { + System.out.println("Calculated Coordinates 45dv x 94ae"); + } +} diff --git a/src/main/java/HW13/work.java b/src/main/java/HW13/work.java new file mode 100644 index 0000000..173c2bc --- /dev/null +++ b/src/main/java/HW13/work.java @@ -0,0 +1,20 @@ +package HW13; + +public class work { + public static void main(String[] args) { + + + gameBuilder setup = new gameSetup(); + gameBuilder posSetup = new gameSetup(); + gameBuilder option1 = new gameOpt(); + gameBuilder option2 = new gameOpt(); + + setup.shipPositionCalc(); + posSetup.getShipCoordinate(); + + option1.getShipCoordinate(); + option2.shipPositionCalc(); + + + } +} diff --git a/src/main/java/HW14/animalsPack/invertebrates.java b/src/main/java/HW14/animalsPack/invertebrates.java new file mode 100644 index 0000000..76899a4 --- /dev/null +++ b/src/main/java/HW14/animalsPack/invertebrates.java @@ -0,0 +1,5 @@ +package HW14.animalsPack; + +public interface invertebrates extends HW14.lifePack.animals { + void canWalk(); +} diff --git a/src/main/java/HW14/animalsPack/vertebrates.java b/src/main/java/HW14/animalsPack/vertebrates.java new file mode 100644 index 0000000..3fcf694 --- /dev/null +++ b/src/main/java/HW14/animalsPack/vertebrates.java @@ -0,0 +1,5 @@ +package HW14.animalsPack; + +public interface vertebrates extends HW14.lifePack.animals{ + void canCrawl(); +} \ No newline at end of file diff --git a/src/main/java/HW14/carnivoresPack/blueWhale.java b/src/main/java/HW14/carnivoresPack/blueWhale.java new file mode 100644 index 0000000..e376294 --- /dev/null +++ b/src/main/java/HW14/carnivoresPack/blueWhale.java @@ -0,0 +1,27 @@ +package HW14.carnivoresPack; + +public class blueWhale extends HW14.mammalsPack.carnivores{ + @Override + public void canLiveBearing() { + System.out.println("I can live bearing"); + } + + @Override + public void canCrawl() { + System.out.println("I can crowl"); + + } + + @Override + public void canMove() { + System.out.println("I can move"); + } + + @Override + public void canBreathe() { + System.out.println("I can breathe"); + } + public void canDive(){ + System.out.println("I can deep dive"); + } +} diff --git a/src/main/java/HW14/carnivoresPack/lion.java b/src/main/java/HW14/carnivoresPack/lion.java new file mode 100644 index 0000000..47c4948 --- /dev/null +++ b/src/main/java/HW14/carnivoresPack/lion.java @@ -0,0 +1,27 @@ +package HW14.carnivoresPack; + +public class lion extends HW14.mammalsPack.carnivores { + @Override + public void canLiveBearing() { + System.out.println("I can live bearing"); + } + + @Override + public void canCrawl() { + System.out.println("I can crowl"); + + } + + @Override + public void canMove() { + System.out.println("I can move"); + } + + @Override + public void canBreathe() { + System.out.println("I can breathe"); + } + public void canRun(){ + System.out.println("I can run fast"); + } +} diff --git a/src/main/java/HW14/carnivoresPack/wolf.java b/src/main/java/HW14/carnivoresPack/wolf.java new file mode 100644 index 0000000..a123b0e --- /dev/null +++ b/src/main/java/HW14/carnivoresPack/wolf.java @@ -0,0 +1,27 @@ +package HW14.carnivoresPack; + +public class wolf extends HW14.mammalsPack.carnivores { + @Override + public void canLiveBearing() { + System.out.println("I can live bearing"); + } + + @Override + public void canCrawl() { + System.out.println("I can crowl"); + + } + + @Override + public void canMove() { + System.out.println("I can move"); + } + + @Override + public void canBreathe() { + System.out.println("I can breathe"); + } + public void canBite(){ + System.out.println("I can bite you"); + } +} diff --git a/src/main/java/HW14/life.java b/src/main/java/HW14/life.java new file mode 100644 index 0000000..50d2f05 --- /dev/null +++ b/src/main/java/HW14/life.java @@ -0,0 +1,5 @@ +package HW14; + +public interface life { + void canBreathe(); +} diff --git a/src/main/java/HW14/lifePack/animals.java b/src/main/java/HW14/lifePack/animals.java new file mode 100644 index 0000000..921c32e --- /dev/null +++ b/src/main/java/HW14/lifePack/animals.java @@ -0,0 +1,7 @@ +package HW14.lifePack; + +import HW14.life; + +public interface animals extends life { + void canMove(); +} diff --git a/src/main/java/HW14/lifePack/bacteria.java b/src/main/java/HW14/lifePack/bacteria.java new file mode 100644 index 0000000..05596be --- /dev/null +++ b/src/main/java/HW14/lifePack/bacteria.java @@ -0,0 +1,7 @@ +package HW14.lifePack; + +import HW14.life; + +public interface bacteria extends life { + void canDivision(); +} diff --git a/src/main/java/HW14/lifePack/fungi.java b/src/main/java/HW14/lifePack/fungi.java new file mode 100644 index 0000000..4fdda9e --- /dev/null +++ b/src/main/java/HW14/lifePack/fungi.java @@ -0,0 +1,7 @@ +package HW14.lifePack; + +import HW14.life; + +public interface fungi extends life { + void canGrow(); +} diff --git a/src/main/java/HW14/lifePack/plants.java b/src/main/java/HW14/lifePack/plants.java new file mode 100644 index 0000000..1efe315 --- /dev/null +++ b/src/main/java/HW14/lifePack/plants.java @@ -0,0 +1,7 @@ +package HW14.lifePack; + +import HW14.life; + +public interface plants extends life { + void canPhotoSynthesis(); +} diff --git a/src/main/java/HW14/mammalsPack/carnivores.java b/src/main/java/HW14/mammalsPack/carnivores.java new file mode 100644 index 0000000..50798f3 --- /dev/null +++ b/src/main/java/HW14/mammalsPack/carnivores.java @@ -0,0 +1,4 @@ +package HW14.mammalsPack; + +public abstract class carnivores implements HW14.vertebratesPack.mammals { +} diff --git a/src/main/java/HW14/mammalsPack/herbivores.java b/src/main/java/HW14/mammalsPack/herbivores.java new file mode 100644 index 0000000..bc5017c --- /dev/null +++ b/src/main/java/HW14/mammalsPack/herbivores.java @@ -0,0 +1,4 @@ +package HW14.mammalsPack; + +public abstract class herbivores implements HW14.vertebratesPack.mammals{ +} diff --git a/src/main/java/HW14/mammalsPack/primates.java b/src/main/java/HW14/mammalsPack/primates.java new file mode 100644 index 0000000..943feb4 --- /dev/null +++ b/src/main/java/HW14/mammalsPack/primates.java @@ -0,0 +1,4 @@ +package HW14.mammalsPack; + +public abstract class primates implements HW14.vertebratesPack.mammals{ +} diff --git a/src/main/java/HW14/mammalsPack/rodents.java b/src/main/java/HW14/mammalsPack/rodents.java new file mode 100644 index 0000000..dfbce61 --- /dev/null +++ b/src/main/java/HW14/mammalsPack/rodents.java @@ -0,0 +1,4 @@ +package HW14.mammalsPack; + +public abstract class rodents implements HW14.vertebratesPack.mammals{ +} diff --git a/src/main/java/HW14/mammalsPack/seals.java b/src/main/java/HW14/mammalsPack/seals.java new file mode 100644 index 0000000..c6f6901 --- /dev/null +++ b/src/main/java/HW14/mammalsPack/seals.java @@ -0,0 +1,4 @@ +package HW14.mammalsPack; + +public abstract class seals implements HW14.vertebratesPack.mammals{ +} diff --git a/src/main/java/HW14/mammalsPack/whales.java b/src/main/java/HW14/mammalsPack/whales.java new file mode 100644 index 0000000..d83192d --- /dev/null +++ b/src/main/java/HW14/mammalsPack/whales.java @@ -0,0 +1,4 @@ +package HW14.mammalsPack; + +public abstract class whales implements HW14.vertebratesPack.mammals{ +} diff --git a/src/main/java/HW14/vertebratesPack/amphibians.java b/src/main/java/HW14/vertebratesPack/amphibians.java new file mode 100644 index 0000000..cfed2a8 --- /dev/null +++ b/src/main/java/HW14/vertebratesPack/amphibians.java @@ -0,0 +1,5 @@ +package HW14.vertebratesPack; + +public interface amphibians extends HW14.animalsPack.vertebrates { + void canSwim (); +} diff --git a/src/main/java/HW14/vertebratesPack/birds.java b/src/main/java/HW14/vertebratesPack/birds.java new file mode 100644 index 0000000..a00b9f0 --- /dev/null +++ b/src/main/java/HW14/vertebratesPack/birds.java @@ -0,0 +1,5 @@ +package HW14.vertebratesPack; + +public interface birds extends HW14.animalsPack.vertebrates{ + void canFly(); +} diff --git a/src/main/java/HW14/vertebratesPack/fish.java b/src/main/java/HW14/vertebratesPack/fish.java new file mode 100644 index 0000000..e7b05e5 --- /dev/null +++ b/src/main/java/HW14/vertebratesPack/fish.java @@ -0,0 +1,5 @@ +package HW14.vertebratesPack; + +public interface fish extends HW14.animalsPack.vertebrates{ + void canBreathInWater(); +} diff --git a/src/main/java/HW14/vertebratesPack/mammals.java b/src/main/java/HW14/vertebratesPack/mammals.java new file mode 100644 index 0000000..014dc72 --- /dev/null +++ b/src/main/java/HW14/vertebratesPack/mammals.java @@ -0,0 +1,5 @@ +package HW14.vertebratesPack; + +public interface mammals extends HW14.animalsPack.vertebrates{ + void canLiveBearing(); +} diff --git a/src/main/java/HW14/vertebratesPack/reptiles.java b/src/main/java/HW14/vertebratesPack/reptiles.java new file mode 100644 index 0000000..ca8a832 --- /dev/null +++ b/src/main/java/HW14/vertebratesPack/reptiles.java @@ -0,0 +1,5 @@ +package HW14.vertebratesPack; + +public interface reptiles extends HW14.animalsPack.vertebrates{ + void canMakeEggs(); +} diff --git a/src/main/java/HW14/work.java b/src/main/java/HW14/work.java new file mode 100644 index 0000000..6892a99 --- /dev/null +++ b/src/main/java/HW14/work.java @@ -0,0 +1,19 @@ +package HW14; +import HW14.carnivoresPack.lion; +import HW14.carnivoresPack.blueWhale; +import HW14.carnivoresPack.wolf; +public class work { + public static void main(String[] args) { + + blueWhale newWhale = new HW14.carnivoresPack.blueWhale(); + wolf newWolf = new HW14.carnivoresPack.wolf(); + lion newLion = new HW14.carnivoresPack.lion(); + + newWhale.canLiveBearing(); + newWolf.canBite(); + newWolf.canMove(); + newLion.canLiveBearing(); + + + } +} diff --git a/src/main/java/HW15/Starships.java b/src/main/java/HW15/Starships.java new file mode 100644 index 0000000..5ac7de9 --- /dev/null +++ b/src/main/java/HW15/Starships.java @@ -0,0 +1,37 @@ +package HW15; + +public class Starships { + private String name; + private String location; + private Integer size; + + public Starships(String name, String location, Integer size) { + this.name = name; + this.location = location; + this.size = size; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getLocation() { + return location; + } + + public void setLocation(String location) { + this.location = location; + } + + public Integer getSize() { + return size; + } + + public void setSize(Integer size) { + this.size = size; + } +} diff --git a/src/main/java/HW15/Work.java b/src/main/java/HW15/Work.java new file mode 100644 index 0000000..69d262f --- /dev/null +++ b/src/main/java/HW15/Work.java @@ -0,0 +1,52 @@ +package HW15; + +import java.util.ArrayList; +import java.util.List; + +public class Work { + public static void main(String[] args) { + List cars = new ArrayList(); + List rowList = new ArrayList(); + List intNumbers = new ArrayList(); + List starships = new ArrayList(); + + starships.add(new Starships("Millennium falcon", "Star Wars", 62)); + starships.add(new Starships("USS Enterprise", "Star Track", 490)); + starships.add(new Starships("Empire Star Destroyer", "Star Wars", 5900)); + Starships voyager = new Starships("Voyager 1", "NASA", 12); + starships.add(voyager); + starships.forEach((a) -> System.out.println(a.getName()+", "+a.getLocation()+", "+a.getSize())); + starships.remove(2); + System.out.println(""); + + + cars.add(0, "Honda"); + cars.add(1, "Mazda"); + cars.add("BMW"); + cars.add(0, "MB"); + System.out.println(cars.set(2,"WV") + " was replaced by WV"); + System.out.println(cars); + + for (double i = -1; i <=1 ; i=i+0.1) { + rowList.add(Math.sin(i)); + } + System.out.println(rowList); + if (rowList.contains(-0.8414709848078965)) { + rowList.remove(rowList.indexOf(-0.8414709848078965)); + } + System.out.println(rowList); + + for (int i = 0; i <= 10; i++) { + intNumbers.add((int) Math.exp(i)); + } + System.out.println(intNumbers); + intNumbers.forEach((x)-> print(x.compareTo(20))); + + + + } + + public static void print(int x){ + System.out.println("Here is comparison results: " + x); + } +} diff --git a/src/main/java/HW16P1/Companies.java b/src/main/java/HW16P1/Companies.java new file mode 100644 index 0000000..39ee076 --- /dev/null +++ b/src/main/java/HW16P1/Companies.java @@ -0,0 +1,35 @@ +package HW16P1; + +public class Companies { + private String name; + private Integer someValue; + + public Companies(String name, Integer someValue) { + this.name = name; + this.someValue = someValue; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getSomeValue() { + return someValue; + } + + public void setSomeValue(Integer someValue) { + this.someValue = someValue; + } + + @Override + public String toString() { + return "Companies{" + + "name='" + name + '\'' + + ", population=" + someValue + + '}'; + } +} diff --git a/src/main/java/HW16P1/Offices.java b/src/main/java/HW16P1/Offices.java new file mode 100644 index 0000000..e9c9591 --- /dev/null +++ b/src/main/java/HW16P1/Offices.java @@ -0,0 +1,35 @@ +package HW16P1; + +public class Offices { + private String name; + private String headOffice; + + public Offices(String name, String headOffice) { + this.name = name; + this.headOffice = headOffice; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getHeadOffice() { + return headOffice; + } + + public void setHeadOffice(String headOffice) { + this.headOffice = headOffice; + } + + @Override + public String toString() { + return "Offices{" + + "name='" + name + '\'' + + ", headOffice='" + headOffice + '\'' + + '}'; + } +} diff --git a/src/main/java/HW16P1/Work.java b/src/main/java/HW16P1/Work.java new file mode 100644 index 0000000..ed86373 --- /dev/null +++ b/src/main/java/HW16P1/Work.java @@ -0,0 +1,69 @@ +package HW16P1; + +import java.util.HashMap; +import java.util.Map; + +public class Work { + public static void main(String[] args) { + HashMap exp = new HashMap(); + HashMap valueComp = new HashMap(); + HashMap coordinates = new HashMap(); + Map companies = new HashMap(); + + + + // exp example + for (Integer i = 0; i <10 ; i++) { + + exp.put(i.toString(), " exp = " + Math.exp(i)); + } + exp.replace(Integer.toString(5), Integer.toString(77)); + exp.forEach((x, y) -> print(x,y)); + System.out.println(exp.size()); + //valueComp example + valueComp.put("Amazon", 55.3); + valueComp.put("SpaceX", 27.7); + valueComp.put("Google", 498.5); + valueComp.put("Apple", 1013.6); + + System.out.println("Value " + valueComp.get("Google")); + + // map classes example + companies.put(new Companies("Amazon",65423), new Offices("Amazon", "Texas")); + companies.put(new Companies("SpaceX",252), new Offices("SpaceX", "somewhere in CA")); + companies.put(new Companies("Apple",224352), new Offices("Apple", "Cupertino")); + Companies google = new Companies("Google", 876334); + Offices googleOffice = new Offices("Google","Silicon Valley in CA"); + printHash(companies); + + companies.put(google, googleOffice); + printHash(companies); + + companies.replace(google, new Offices("Yandex", "MSK")); + printHash(companies); + + System.out.println(""); + + + +// list exp(String, String) goes to List coordinates(Integer, String) + for (Integer i = 0; i <= exp.size(); i++) { + coordinates.put(i+10, exp.get(i.toString())); + } + coordinates.forEach((x,y) -> print(x.toString(),y)); + + + } + public static void print(String x, String y){ + System.out.println(x + y); + // System.out.println(""); + } + + public static void printHash(Map x){ + System.out.println(""); + + x.forEach((a,b) -> System.out.println(a.toString()+ " " + b.toString())); + + } + +} diff --git a/src/main/java/HW16P2/Address.java b/src/main/java/HW16P2/Address.java new file mode 100644 index 0000000..693ec4f --- /dev/null +++ b/src/main/java/HW16P2/Address.java @@ -0,0 +1,47 @@ +package HW16P2; + +public class Address { + private String streetAddress; + private String town; + private String state; + private int zip; + + public Address(String streetAddress, String town, String state, int zip) { + this.streetAddress = streetAddress; + this.town = town; + this.state = state; + this.zip = zip; + } + + public String getStreetAddress() { + return streetAddress; + } + + public void setStreetAddress(String streetAddress) { + this.streetAddress = streetAddress; + } + + public String getTown() { + return town; + } + + public void setTown(String town) { + this.town = town; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + public int getZip() { + return zip; + } + + public void setZip(int zip) { + this.zip = zip; + } +} diff --git a/src/main/java/HW16P2/Doctor.java b/src/main/java/HW16P2/Doctor.java new file mode 100644 index 0000000..2fada6c --- /dev/null +++ b/src/main/java/HW16P2/Doctor.java @@ -0,0 +1,40 @@ +package HW16P2; + +public class Doctor { + private String name; + private String lastName; + private Position position; + + public Doctor(String name, String lastName, Position position) { + this.name = name; + this.lastName = lastName; + this.position = position; + } + + public Doctor() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public Position getPosition() { + return position; + } + + public void setPosition(Position position) { + this.position = position; + } +} diff --git a/src/main/java/HW16P2/Hospital.java b/src/main/java/HW16P2/Hospital.java new file mode 100644 index 0000000..f270966 --- /dev/null +++ b/src/main/java/HW16P2/Hospital.java @@ -0,0 +1,89 @@ +package HW16P2; + +import java.util.ArrayList; +import java.util.HashMap; + +public class Hospital { + private String hospitalName; + private Address address; + private ArrayList doctors; + private HashMap rooms; + private ArrayList acceptedInsurances; + + public Hospital(String hospitalName, Address address, ArrayList doctors, HashMap rooms, ArrayList acceptedInsurances) { + this.hospitalName = hospitalName; + this.address = address; + this.doctors = doctors; + this.rooms = rooms; + this.acceptedInsurances = acceptedInsurances; + } + + public Hospital() { + } + + public String getHospitalName() { + return hospitalName; + } + + public void setHospitalName(String hospitalName) { + this.hospitalName = hospitalName; + } + + public Address getAddress() { + return address; + } + + public void setAddress(Address address) { + this.address = address; + } + + public ArrayList getDoctors() { + return doctors; + } + + public void setDoctors(ArrayList doctors) { + this.doctors = doctors; + } + + public HashMap getRooms() { + return rooms; + } + + public void setRooms(HashMap rooms) { + this.rooms = rooms; + } + + public ArrayList getAcceptedInsurances() { + return acceptedInsurances; + } + + public void setAcceptedInsurances(ArrayList acceptedInsurances) { + this.acceptedInsurances = acceptedInsurances; + } + + + public void printInfo() { + System.out.println( + "Hospital " + getHospitalName() + + ", Address: " + toString() + + ", Accepted Insurances: " + getAcceptedInsurances()); + } + + public void printDoctors() { + System.out.println("Hospital " + getHospitalName() + ":"); + getDoctors().forEach((d) -> System.out.println("doctor " + d.getName()+" "+ d.getLastName()+ " on position: "+d.getPosition())); + } + + public void printRooms() { + System.out.println( "Hospital " + getHospitalName() + + ", Rooms: " + getRooms()); + } + @Override + public String toString() { + return "Hospital address{ "+ getAddress().getStreetAddress() + ", " + + getAddress().getTown()+ ", " + + getAddress().getState()+ ", " + + getAddress().getZip()+ '}'; + } +} + diff --git a/src/main/java/HW16P2/InsuranseCompamies.java b/src/main/java/HW16P2/InsuranseCompamies.java new file mode 100644 index 0000000..5da5035 --- /dev/null +++ b/src/main/java/HW16P2/InsuranseCompamies.java @@ -0,0 +1,8 @@ +package HW16P2; + +public enum InsuranseCompamies { + OSCAR, + AETNA, + COMPANY1, + COMPANY2 +} diff --git a/src/main/java/HW16P2/Position.java b/src/main/java/HW16P2/Position.java new file mode 100644 index 0000000..866bd57 --- /dev/null +++ b/src/main/java/HW16P2/Position.java @@ -0,0 +1,9 @@ +package HW16P2; + +public enum Position { + PHYSICIAN, + SURGEON, + PSYCHIATRIST, + DERMATOLOGIST, + CARDIOLOGIST +} diff --git a/src/main/java/HW16P2/Work.java b/src/main/java/HW16P2/Work.java new file mode 100644 index 0000000..5018639 --- /dev/null +++ b/src/main/java/HW16P2/Work.java @@ -0,0 +1,73 @@ +package HW16P2; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +public class Work { + public static void main(String[] args) { + //docs + Doctor docRalf = new Doctor("Ralf", "Indrio", Position.SURGEON); + Doctor docAlex = new Doctor("Alex", "Ivanov", Position.PHYSICIAN); + Doctor docJohn = new Doctor("John", "Monroe", Position.CARDIOLOGIST); + Doctor docBob = new Doctor("Bob", "Bobbins", Position.DERMATOLOGIST); + + ArrayList doctorsArr1 = new ArrayList(); + ArrayList doctorsArr2 = new ArrayList(); + ArrayList doctorsArr3 = new ArrayList(); + doctorsArr1.add(docAlex); + doctorsArr1.add(docBob); + doctorsArr2.add(docJohn); + doctorsArr3.add(docRalf); + + //Insurances + ArrayList InsuranceArr1 = new ArrayList(); + InsuranceArr1.add(InsuranseCompamies.OSCAR); + InsuranceArr1.add(InsuranseCompamies.COMPANY1); + InsuranceArr1.add(InsuranseCompamies.COMPANY2); + ArrayList InsuranceArr2 = new ArrayList(); + InsuranceArr2.add(InsuranseCompamies.COMPANY1); + InsuranceArr2.add(InsuranseCompamies.AETNA); + InsuranceArr2.add(InsuranseCompamies.COMPANY2); + + //Rooms + + HashMap roomsArr1 = new HashMap(); + HashMap roomsArr2 = new HashMap(); + HashMap roomsArr3 = new HashMap(); + + roomsArr1.put(21, Position.PHYSICIAN); + roomsArr1.put(11, Position.DERMATOLOGIST); + roomsArr2.put(10, Position.CARDIOLOGIST); + roomsArr3.put(01, Position.SURGEON); + roomsArr3.put(02, Position.PSYCHIATRIST); + + //Hospitals + + Hospital hospital1 = new Hospital("Saint Hopkins", new Address("111 Main st.", "Columbus","OH", 19202),doctorsArr1,roomsArr1,InsuranceArr1); + Hospital hospital2 = new Hospital("Saint Maria", new Address("23 Main st.", "Detroit","MI", 49322),doctorsArr2,roomsArr2,InsuranceArr2); + Hospital hospital3 = new Hospital("HOPE", new Address("3323 W South st.", "Trenton","NJ", 22342),doctorsArr3,roomsArr3,InsuranceArr1); + + + // Task 1 + System.out.println(); + hospital1.printInfo(); + hospital2.printInfo(); + hospital3.printInfo(); + + + // Task 2 + System.out.println(); + hospital1.printDoctors(); + hospital2.printDoctors(); + hospital3.printDoctors(); + + // task 3 + System.out.println(); + hospital1.printRooms(); + hospital2.printRooms(); + hospital3.printRooms(); + + + } +} diff --git a/src/main/java/HW2/work.java b/src/main/java/HW2/work.java new file mode 100644 index 0000000..2ad2e4c --- /dev/null +++ b/src/main/java/HW2/work.java @@ -0,0 +1,61 @@ +package HW2; + +public class work { + public static void main(String[] args) { + + int b=3; + int y=7; + + if (b <= 3) { + System.out.println("Hello, Everyone"); + } + else { + y=20; + System.out.println("Now y = " + y); + } + + if (y+b == 6) { + System.out.println("x + y = 6"); + } + else { + System.out.println("x + y = " + (b+y) + " sorry"); + } + + if (b == 3 && y == 7) { + int z = 4 * (b+y); + System.out.println("z = " + z); + } + + + int a=100; + int x=12; + int d=12; + int c=122; + + boolean[] zz= new boolean[12]; + + int[] pp; + + zz[0] = (c>c) || (a<=a); + zz[1] = a==d; + zz[2] = x==d; + zz[3] = c>=a; + zz[4] = x>=d; + zz[5] = (d==c) || (x==d); + zz[6] = (c>x) && (d>=x); + zz[7] = (a>x) || (a>c); + zz[8] = (a==c) && (d==c); + zz[9] = (c==c) && (a>=a); + zz[10] = (x>a) && (c==d); + zz[11] = (c>a) && (x>d); + + for (int i = 0; i < zz.length; i++ ) { + + if (zz[i] == false) { + System.out.println("zz"+i+" "+ zz[i] + " WTF"); + } else System.out.println("zz"+i+" "+ zz[i] + " OMG"); + } + + + } +} diff --git a/src/main/java/HW3/work.java b/src/main/java/HW3/work.java new file mode 100644 index 0000000..9d2649d --- /dev/null +++ b/src/main/java/HW3/work.java @@ -0,0 +1,32 @@ +package HW3; + +public class work { + + public static void main(String[] args) { + + int[] arrExampleInt = {2,76,9,90,31,76,2,76,21,12}; + + for (int i = 0; i <= arrExampleInt.length-1; i++) { + System.out.print(" " + arrExampleInt[i]); + } + System.out.println(""); + String[] arrExampleStr = new String[5]; + arrExampleStr[0] = "Hello"; + arrExampleStr[1] = "World"; + arrExampleStr[2] = "TestPro"; + arrExampleStr[3] = "Just String"; + arrExampleStr[4] = "Another Just String"; + + for (int j = 0; j <= arrExampleStr.length-1; j++) { + System.out.println(" " + arrExampleStr[j]); + } + boolean[] arrExamplesBln = new boolean[4]; + arrExamplesBln[0] = false; + arrExamplesBln[1] = true; + arrExamplesBln[2] = false; + arrExamplesBln[3] = true; + + + } + +} diff --git a/src/main/java/HW4/work.java b/src/main/java/HW4/work.java new file mode 100644 index 0000000..6165e9b --- /dev/null +++ b/src/main/java/HW4/work.java @@ -0,0 +1,74 @@ +package HW4; + +public class work { + public static void main(String[] args) { + //0 + int[] arrInt = {2,76,9,90,31,76,6,88,21,12}; + + //1a + System.out.println("------1a"); + for (int x: arrInt) { + System.out.print(" " + x); + } + + //1b + System.out.println("-------1b"); + for (int y: arrInt) { + if (y%2 == 0) { + + System.out.println(y+" is even"); + } + } + + //1c + System.out.println("-------1c"); + for (int z: arrInt) { + if (z%3 == 0) { + + System.out.println(z+" is divided by 3"); + } + } + //1d + System.out.println("--------1d"); + int maxV=0; + for (int m : arrInt) { + if (m > maxV) { + maxV = m; + } + } + + System.out.println(maxV +" is maximum"); + + //1e + System.out.println("-------1e"); + int minV=100; + for (int n : arrInt) { + if (n < minV) { + minV = n; + } + } + + System.out.println(minV +" is maximum"); + + //1f + System.out.println("--------1f"); + for (int h: arrInt) { + if (h%2 != 0) { + + System.out.println(h+" is odd"); + } + } + + //2 + System.out.println("_________2"); +int[] arrInt2 = {10,15,12,7,88,10,6,17,23,10,10,16}; + + System.out.println(""); + for (int q=0; q<=arrInt2.length-1; q++) { + if (arrInt2[q] == 10) { + System.out.println(q); + } + } + + } +} diff --git a/src/main/java/HW5/work.java b/src/main/java/HW5/work.java new file mode 100644 index 0000000..1f45512 --- /dev/null +++ b/src/main/java/HW5/work.java @@ -0,0 +1,34 @@ +package HW5; + +public class work { + public static void main(String[] args) { + + //1 + System.out.println("1._______"); + sum1(3,5); + //2 + System.out.println("2._______"); + int res = sum2(2,9); + System.out.println("x + y = " + res); + + //3 + System.out.println("3._______"); + boolean res1 = isOdd(32); + System.out.println("is " + res1); + + + } + + public static void sum1(int x, int y){ + System.out.println("x + y = " + (x+y)); + } + + public static int sum2(int x, int y){ + return x+y; + } + + public static boolean isOdd(int x){ + return (x %2 ==0) ? true:false; + + } +} diff --git a/src/main/java/HW7/work.java b/src/main/java/HW7/work.java new file mode 100644 index 0000000..fd3c085 --- /dev/null +++ b/src/main/java/HW7/work.java @@ -0,0 +1,62 @@ +package HW7; + +import java.sql.Array; + +public class work { + public static void main(String[] args) { + int[] intArr1 = {2, 3, 5, 6, 7, 8}; + int[] intArr2 = {3, 9, 1, 8, 4, 8, 5}; + int[] intArr3 = {3, 9, 1, 8, 4, 8, 5}; + + System.out.println("Sum = " + sumArr(intArr1)); + sortArr(intArr2); + System.out.println("Max = " + maxArr(intArr3)); + } + + public static int sumArr(int[] intArr1) { + int x = 0; + for (int i = 0; i <= intArr1.length - 1; i++) { + x = x + intArr1[i]; + } + return x; + } + + public static void sortArr(int[] intArr2) { + int x = 0; + int z = 0; + int[] y = new int[intArr2.length]; + + for (int j = intArr2.length - 1; j >= 0; j--) { + for (int i = 0; i <= intArr2.length - 1; i++) { + if (intArr2[i] > x) { + x = intArr2[i]; + z = i; + } + } + intArr2[z] = 0; + z = 0; + y[j] = x; + x = 0; + } + System.out.println("Sorted"); + + for (int v : y) { + System.out.print(v + ", "); + } + + } + + public static int maxArr(int[] intArr3) { + int max = 0; + for (int x : intArr3) { + if (x > max) { + max = x; + } + // System.out.println("maximum = " + max +" "+ x); + + } + return max; + } +} + + diff --git a/src/main/java/hw8/app.java b/src/main/java/HW8/app.java similarity index 85% rename from src/main/java/hw8/app.java rename to src/main/java/HW8/app.java index 5650a13..9430066 100644 --- a/src/main/java/hw8/app.java +++ b/src/main/java/HW8/app.java @@ -1,4 +1,4 @@ -package hw8; +package HW8; public class app { public static void main(String[] args) { diff --git a/src/main/java/HW9/aircraft.java b/src/main/java/HW9/aircraft.java new file mode 100644 index 0000000..440ca85 --- /dev/null +++ b/src/main/java/HW9/aircraft.java @@ -0,0 +1,39 @@ +package HW9; + +public class aircraft { + + public String type; + public String category; + public String name; + public int capacity; + public int crewReq; + public int runwayReq; + public String fuel; + public boolean coffee; + + + public boolean airworthy(String pilotName, String license, String position){ + boolean ready = false; + if (position == "Captain" && name == "A320" && license == "ATPL") { + System.out.println(name + " is ready for boarding and departing with Captain " + pilotName); + ready = true; + } + + else if (name == "C172" && (license == "CPL" || license == "ATPL")) { + System.out.println(name + " is ready for boarding and departing with Captain " + pilotName); + ready = true; + } + //if (license == null || license != "CPL" && license != "ATPL") + else { + ready = false; + System.out.println("Mr. " + pilotName + " needs another pilot certificate to fly " + name); + } + + return ready; + } + + public void boarding(String namePax){ + System.out.println("Mr. " + namePax + " we are happy to see you in this " + name); + } + +} diff --git a/src/main/java/HW9/airport.java b/src/main/java/HW9/airport.java new file mode 100644 index 0000000..d908ed0 --- /dev/null +++ b/src/main/java/HW9/airport.java @@ -0,0 +1,37 @@ +package HW9; + +public class airport { + + public String name; + public int rwySize; + public String fuelType; + public int terminalCap; + public int[] gates = new int[12]; + + +public boolean isAvail(int runwayReq, String fuel, int capacity){ + boolean isAvail; + if (runwayReq >= rwySize && fuel != fuelType && capacity*4 >= terminalCap){ + System.out.println("Airport " + name + " has no available runway length or fuel or terminal is less then requirements "); + isAvail = false; + } + else { + System.out.println("Airport " + name + " welcomes you"); + isAvail = true; + } + return isAvail; +} + +public int gate(String direction, int capacity){ + int gate; + if (capacity >= 50) { + gate = gates[11]; + System.out.println("Airplane to " + direction + " will be departed from gate " + gate); + } else { + gate = gates[2]; + System.out.println("Airplane to " + direction + " will be departed from gate " + gate); + } + return gate; +} + +} diff --git a/src/main/java/HW9/passenger.java b/src/main/java/HW9/passenger.java new file mode 100644 index 0000000..bc27cbe --- /dev/null +++ b/src/main/java/HW9/passenger.java @@ -0,0 +1,26 @@ +package HW9; + +public class passenger { + + + public String name; + public int age; + public int gate; + public String direction; + + + public void showDirection(){ + System.out.println("Mr. " + name + " goes to " + direction); + + } + + public void boarding(){ + if (gate != 0){ + System.out.println("Mr. " + name + " please proceed to " + gate + " gate"); + } + else { + System.out.println("Mr. " + name + ", flight to " + direction + " delayed"); + } + + } +} diff --git a/src/main/java/HW9/pilot.java b/src/main/java/HW9/pilot.java new file mode 100644 index 0000000..e6141a6 --- /dev/null +++ b/src/main/java/HW9/pilot.java @@ -0,0 +1,29 @@ +package HW9; + +public class pilot { + + public String name; + public String license; + public String position; + public String likes; + + + public void coffeeCheck(boolean coffee){ + if (coffee == true) { + System.out.println("Mr. " + name + " will fly this flight after his " + likes); + } else {System.out.println("Mr. " + name + " is going to sleep during flight");} + } + public boolean breakTime(int sleepTime) { + boolean ready; + if (sleepTime <= 10) { + ready = false; + System.out.println("Mr. " + name + " can not legally fly airplane without " + likes); + } + else {System.out.println("Another one " + likes + " please for " + name); + ready = true; + } + return ready; + } + +} + diff --git a/src/main/java/HW9/work.java b/src/main/java/HW9/work.java new file mode 100644 index 0000000..9db8be0 --- /dev/null +++ b/src/main/java/HW9/work.java @@ -0,0 +1,132 @@ +package HW9; + +public class work { + + public static void main(String[] args) { + + + aircraft A320 = new aircraft(); + aircraft AW120 = new aircraft(); + aircraft C172 = new aircraft(); + + passenger ivanov = new passenger(); + passenger anderson = new passenger(); + // Define object from class as array example + passenger[] folks = new passenger[5]; + + for (int i=0; i<= folks.length-1; i++){ + folks[i]= new passenger(); + } + + pilot salyvan = new pilot(); + pilot abdurahman = new pilot(); + + airport tampa = new airport(); + airport clearwater = new airport(); + + + salyvan.name = "Salyvan"; + salyvan.license = "ATPL"; + salyvan.position = "Captain"; + salyvan.likes = "Coffee"; + + abdurahman.name = "Abdurahman"; + abdurahman.license = "CPL"; + abdurahman.position = "1st Officer"; + abdurahman.likes = "Tea"; + + A320.type = "Jet"; + A320.category = "Aircraft"; + A320.name = "A320"; + A320.capacity = 146; + A320.crewReq = 2; + A320.runwayReq = 6500; + A320.fuel = "JetAA"; + A320.coffee = true; + + AW120.type = "Jet"; + AW120.category = "Helicopter"; + AW120.name = "AW120"; + AW120.capacity = 6; + AW120.crewReq = 2; + AW120.runwayReq = 100; + AW120.fuel = "JetAA"; + AW120.coffee = false; + + C172.type = "Piston"; + C172.category = "Aircraft"; + C172.name = "C172"; + C172.capacity = 4; + C172.crewReq = 1; + C172.runwayReq = 3500; + C172.fuel = "100LL"; + C172.coffee = false; + + ivanov.name = "Ivanov"; + ivanov.age = 75; + ivanov.direction = "Tampa"; + + folks[1].name = "Trumps"; + folks[1].age = 47; + folks[1].direction = "Newark"; + + folks[2].name = "Petrovich"; + folks[2].age = 12; + folks[2].direction = "Tampa"; + + anderson.name = "Anderson"; + anderson.age = 31; + anderson.direction = "Clearwater"; + + + + + tampa.name = "KTPA"; + tampa.rwySize = 8900; + tampa.fuelType = "JetAA"; + tampa.terminalCap = 10000; + tampa.gates[1] = 2; + tampa.gates[11] = 12; + + clearwater.name = "KCLW"; + clearwater.rwySize = 4800; + clearwater.fuelType = "100LL"; + clearwater.terminalCap = 20; + + if (salyvan.breakTime(6)) { // check for sleep hours + A320.airworthy(salyvan.name, salyvan.license, salyvan.position); // check if pilot match aircraft + } + if (abdurahman.breakTime(11)) { // check for sleep hours + A320.airworthy(abdurahman.name, abdurahman.license, abdurahman.position); // check if pilot match aircraft + C172.airworthy(abdurahman.name, abdurahman.license, abdurahman.position); // check if pilot match aircraft + } + + + + + System.out.print("Airport availability for "+ A320.name + " - "); + tampa.isAvail(A320.runwayReq, A320.fuel, A320.capacity); //check Airport availability + System.out.print("Airport availability for "+ C172.name + " - "); + tampa.isAvail(C172.runwayReq, C172.fuel, C172.capacity);//check Airport availability + + clearwater.isAvail(C172.runwayReq, C172.fuel, C172.capacity);//check Airport availability + clearwater.isAvail(AW120.runwayReq, AW120.fuel, AW120.capacity);//check Airport availability + clearwater.isAvail(A320.runwayReq, A320.fuel, A320.capacity);//check Airport availability + + + + + if (ivanov.direction == "Tampa") { + ivanov.gate = tampa.gate(ivanov.direction, A320.capacity); + } + + anderson.gate = clearwater.gate(anderson.direction, C172.capacity); + ivanov.showDirection(); + anderson.showDirection(); + ivanov.boarding(); + anderson.boarding(); + folks[2].boarding(); + folks[1].showDirection(); + + } +} diff --git a/src/main/java/L10/App.java b/src/main/java/L10/App.java deleted file mode 100644 index c5c5185..0000000 --- a/src/main/java/L10/App.java +++ /dev/null @@ -1,36 +0,0 @@ -package L10; - -public class App { - public static void main(String[] args) { -// Dog doggy = new Dog(); -// doggy.age = 10; -// doggy.breed = "Somoed"; -// doggy.name = "Laika"; -// Dog larry = new Dog("Larry","pug",5); -// System.out.println(larry.name); -// -// doggy.bark(); -// larry.bark(); -// -// Dog alice = new Dog("Alisa"); -// alice.bark(); - - int[] xx={1,2,1}; - House house = new House(900,2,1,"Colonial", xx); - house.printHouseInfo(); - - var boat = new Boat("John"); - boat.printName(); - boat.owner = "xxx"; - - var boat1 = new Boat(50, "Beda", "Vrungel"); - boat1.printName(); - - Student valya = new Student(); - valya.setName("Valya"); - valya.setLastname("Vetrova"); - valya.setYear(5000000); - - System.out.println(valya.getName()); - } -} diff --git a/src/main/java/L10/Boat.java b/src/main/java/L10/Boat.java deleted file mode 100644 index 4d25da3..0000000 --- a/src/main/java/L10/Boat.java +++ /dev/null @@ -1,32 +0,0 @@ -package L10; - -public class Boat { - public int length; - public String name; - public String owner; - public int regNumber; - - public Boat(int length, String name, String owner){ - this.length=length; - this.name=name; - this.owner=owner; - } - public Boat(int length){ - this.length=length; - } - - public Boat(int l, String o){ - length=l; - owner=o; - } - public Boat(String owner){ - this.owner=owner; - } - public void printName(){ - if(name == null){ - System.out.println("no name defined"); - return; - } - System.out.println(name); - } -} diff --git a/src/main/java/L10/Coach.java b/src/main/java/L10/Coach.java deleted file mode 100644 index 29d064b..0000000 --- a/src/main/java/L10/Coach.java +++ /dev/null @@ -1,50 +0,0 @@ -package L10; - -public class Coach { - private String name; - private String lastName; - private String sport; - - public Coach(String name, String lastName, String sport) { - this.name = name; - this.lastName = lastName; - this.sport = sport; - } - - public Coach() { - } - - public Coach(String name, String lastName) { - this.name = name; - this.lastName = lastName; - } - - public String getLastName() { - return lastName; - } - - public String getName() { - return name; - } - - public String getSport() { - return sport; - } - - public void setLastName(String lastName) { - if(lastName.length()<2){ - System.out.println("wrong lastname"); - this.lastName="00"; - return; - } - this.lastName = lastName; - } - - public void setName(String name) { - this.name = name; - } - - public void setSport(String sport) { - this.sport = sport; - } -} diff --git a/src/main/java/L10/Dog.java b/src/main/java/L10/Dog.java deleted file mode 100644 index fc13717..0000000 --- a/src/main/java/L10/Dog.java +++ /dev/null @@ -1,23 +0,0 @@ -package L10; - -public class Dog { - public String name; - public String breed; - public int age; - - public Dog(String name1, String breed1, int age1){ - name = name1; - breed = breed1; - age=age1; - } - - public Dog(){} - - public Dog(String n){ - name=n; - } - - public void bark(){ - System.out.println(name+" Wow-wow"); - } -} diff --git a/src/main/java/L10/House.java b/src/main/java/L10/House.java deleted file mode 100644 index 7c1daee..0000000 --- a/src/main/java/L10/House.java +++ /dev/null @@ -1,22 +0,0 @@ -package L10; - -public class House { - public int sq; - public int bedroom; - public int bathrooms; - public String type; - private int[] bulbs; - - public House(int s, int b, int bt, String t, int[] bulbs){ - sq=s; - bedroom=b; - bathrooms=bt; - type=t; - this.bulbs=bulbs; - } - public House(){} - - public void printHouseInfo(){ - System.out.println(sq+" "+ " " +bedroom+" "+ bathrooms+" "+type+" "+bulbs.length); - } -} diff --git a/src/main/java/L10/Student.java b/src/main/java/L10/Student.java deleted file mode 100644 index 52c8571..0000000 --- a/src/main/java/L10/Student.java +++ /dev/null @@ -1,41 +0,0 @@ -package L10; - -public class Student { - private String name; - private String lastname; - private int year; - - public Student(String name, String lastname){ - this.name=name; - this.lastname=lastname; - } - public Student(){} - - // Getter - public String getName() { - return name; - } - // Setter - public void setName(String name) { - this.name = name; - } - public String getLastname(){ - return this.lastname; - } - public void setLastname(String l){ - lastname=l; - } - - public void setYear(int year) { - if(year>1900 && year<2010){ - this.year = year; - return; - } - System.out.println("wrong year"); - this.year=1900; - } - - public int getYear() { - return year; - } -} diff --git a/src/main/java/L11/App.java b/src/main/java/L11/App.java deleted file mode 100644 index b8fd31c..0000000 --- a/src/main/java/L11/App.java +++ /dev/null @@ -1,43 +0,0 @@ -package L11; - -public class App { - public static void main(String[] args) { - Address homeAddress = new Address("158 Broadway","New York",10016,"NY"); - - - - Name andrew = new Name("Andrew", "Dowson"); - Person ad = new Person(andrew, homeAddress); - Name nm = ad.getName(); - String l = nm.getLastName(); - String ln = ad.getName().getLastName(); - System.out.println(ln); - - - - -// -// andrew.getAddress().printAddress(); -// Vihecles vih = new Vihecles(); -// -// Farm farm = new Farm(homeAddress,vih,andrew); -// -// Address studentAddress = new Address("154 Baden Pl", "Brooklyn",23598,"NY"); -// Student maria = new Student("Maria", "Shi", studentAddress,154154154,"Math"); - - Mouse mouse = new Mouse("Logitech"); -// mouse.printInfo(); - Keyboard kb = new Keyboard("Microsoft"); -// kb.printInfo(); - Monitor monitor = new Monitor("Samsung", "XX-20",32); -// monitor.printInfo(); - // TODO Create class Motherboard and Processor and add them to SysBlock, add to constructor - SysBlock sys = new SysBlock(); - - Computer dell = new Computer(monitor,sys,mouse,kb); - dell.printInfo(); - String xx = new String("gg"); - - - } -} diff --git a/src/main/java/L11/Computer.java b/src/main/java/L11/Computer.java deleted file mode 100644 index 1375dc9..0000000 --- a/src/main/java/L11/Computer.java +++ /dev/null @@ -1,23 +0,0 @@ -package L11; - -public class Computer { - private Monitor monitor; - private SysBlock sysBlock; - private Mouse mouse; - private Keyboard keyboard; - - public Computer(Monitor monitor, SysBlock sysBlock, Mouse mouse, Keyboard keyboard) { - this.monitor = monitor; - this.sysBlock = sysBlock; - this.mouse = mouse; - this.keyboard = keyboard; - } - public void printInfo(){ - monitor.printInfo(); - keyboard.printInfo(); - mouse.printInfo(); -// sysBlock.printInfo(); - - } - -} diff --git a/src/main/java/L11/Keyboard.java b/src/main/java/L11/Keyboard.java deleted file mode 100644 index a30d1b2..0000000 --- a/src/main/java/L11/Keyboard.java +++ /dev/null @@ -1,12 +0,0 @@ -package L11; - -public class Keyboard { - private String brand; - - public Keyboard(String brand) { - this.brand = brand; - } - public void printInfo(){ - System.out.println("Keyboard brand = " + brand); - } -} diff --git a/src/main/java/L11/Monitor.java b/src/main/java/L11/Monitor.java deleted file mode 100644 index a4a5bfe..0000000 --- a/src/main/java/L11/Monitor.java +++ /dev/null @@ -1,18 +0,0 @@ -package L11; - -public class Monitor { - private String brand; - private String model; - private int diag; - - public Monitor(String brand, String model, int diag) { - this.brand = brand; - this.model = model; - this.diag = diag; - } - - public void printInfo() { - String xx= "Monitor{brand=" + brand + ", model=" + model + ", diag=" + diag +'}'; - System.out.println(xx); - } -} diff --git a/src/main/java/L11/Mouse.java b/src/main/java/L11/Mouse.java deleted file mode 100644 index 099624d..0000000 --- a/src/main/java/L11/Mouse.java +++ /dev/null @@ -1,12 +0,0 @@ -package L11; - -public class Mouse { - private String brand; - - public Mouse(String brand) { - this.brand = brand; - } - public void printInfo(){ - System.out.println("Mouse = "+ brand); - } -} diff --git a/src/main/java/L11/SysBlock.java b/src/main/java/L11/SysBlock.java deleted file mode 100644 index 6015d41..0000000 --- a/src/main/java/L11/SysBlock.java +++ /dev/null @@ -1,4 +0,0 @@ -package L11; - -public class SysBlock { -} diff --git a/src/main/java/L9/App.java b/src/main/java/L9/App.java deleted file mode 100644 index 459907f..0000000 --- a/src/main/java/L9/App.java +++ /dev/null @@ -1,70 +0,0 @@ -package L9; - -public class App { - public static void main(String[] args) { - var xx = new String(); - var arr = new int[10]; - Car car = new Car(); - int x= 5; - - car.brand = "Toyota"; - car.model = "Camry"; - car.color = "Silver"; - car.year = 2015; - car.price = 13000; - - Car yourcar = new Car(); - yourcar.model="Civic"; - yourcar.brand="Honda"; - yourcar.year = 2018; - yourcar.price = 18000; - yourcar.color = "White"; - - System.out.println("My new car is "+car.brand+" "+car.model +" "+ car.year); - - Person anna = new Person(); - anna.name="Anna"; - anna.lastName="Ivanova"; - anna.eyeColor="Blue"; - anna.height=102; - anna.year=2015; - - var boris = new Person(); - boris.name = "Boris"; - boris.lastName = "Petrov"; - boris.year = 2015; - boris.height = 110; - boris.eyeColor = "Brown"; - - Fruit ff = new Fruit(); - ff.name = "apple"; - ff.color="green"; - - var sharik = new Dog(); - sharik.name = "Sharik"; - sharik.age = 2; - sharik.breed = "Dvorterier"; - - Dog lord = new Dog(); - lord.name = "Lord"; - lord.age = 3; - lord.breed = "Dog"; - - - if(sharik.age > lord.age){ - System.out.println("Sharik is older"); - }else { - System.out.println("Lord is older"); - } - -// lord.bark(); -// sharik.bark(); - - lord.sleep(); - sharik.bark(); - - car.printInfo(); - yourcar.drive(); - anna.printInfo(); - } -} diff --git a/src/main/java/L9/Car.java b/src/main/java/L9/Car.java deleted file mode 100644 index 415ad58..0000000 --- a/src/main/java/L9/Car.java +++ /dev/null @@ -1,18 +0,0 @@ -package L9; - -public class Car { - public String brand; - public String model; - public int year; - public String color; - public double price; - - public void drive(){ - System.out.println(brand + " " + model +" is driving"); - } - - public void printInfo(){ - System.out.println("\tBrand -> "+ brand+"\n\tModel -> "+ - model + "\n\tYear -> "+year + "\n\tColor -> "+ color + "\n\tPrice -> "+price); - } -} diff --git a/src/main/java/L9/Dog.java b/src/main/java/L9/Dog.java deleted file mode 100644 index 01ef118..0000000 --- a/src/main/java/L9/Dog.java +++ /dev/null @@ -1,14 +0,0 @@ -package L9; - -public class Dog { - public String name; - public String breed; - public int age; - - public void bark(){ - System.out.println(name + " is barking"); - } - public void sleep(){ - System.out.println(name + " is sleeping"); - } -} diff --git a/src/main/java/L9/Fruit.java b/src/main/java/L9/Fruit.java deleted file mode 100644 index 8d04410..0000000 --- a/src/main/java/L9/Fruit.java +++ /dev/null @@ -1,6 +0,0 @@ -package L9; - -public class Fruit { - public String name; - public String color; -} diff --git a/src/main/java/L9/Person.java b/src/main/java/L9/Person.java deleted file mode 100644 index edb717d..0000000 --- a/src/main/java/L9/Person.java +++ /dev/null @@ -1,14 +0,0 @@ -package L9; - -public class Person { - public String name; - public String lastName; - public int year; - public int height; - public String eyeColor; - - public void printInfo(){ - System.out.println("\tName -> "+ name+"\n\tLast Name -> "+ - lastName + "\n\tYear -> "+year + "\n\tEye Color -> "+ eyeColor + "\n\tHeight -> "+height); - } -} diff --git a/src/main/java/Lesson8.java b/src/main/java/Lesson8.java deleted file mode 100644 index b79a095..0000000 --- a/src/main/java/Lesson8.java +++ /dev/null @@ -1,39 +0,0 @@ -public class Lesson8 { - public static void main(String[] args) { - System.out.println(sum(1,2)); - int xx = sum(1,3,2); - int zz = sum(1,1,2,2); - String str = sum("abc","cde", "ddd"); - System.out.println(str); - System.out.println(sum("ddd","eee",555)); - System.out.println(sum("ddd","555")); - } - - public static int sum(int a, int b){ - return a+b; - } - public static double sum(double x, double z){ - return x+z; - } - public static int sum(int a, int b, int c){ - return a+b+c; - } - public static double sum(double x, double z, double y){ - return x+z+y; - } - public static int sum(int a,int b, int c,int d){ - return a+b+c+d; - } - public static double sum(double x, double z, double y, double a){ - return x+z+y +a; - } - public static String sum(String a, String b){ - return a+b; - } - public static String sum(String a, String b, String c){ - return a+b+c; - } - public static String sum(String a, String b, int c){ - return a+b+c; - } -} diff --git a/src/main/java/MyFile.java b/src/main/java/MyFile.java deleted file mode 100644 index 12d2458..0000000 --- a/src/main/java/MyFile.java +++ /dev/null @@ -1,2 +0,0 @@ -public class MyFile { -} diff --git a/src/main/java/hw7.java b/src/main/java/hw7.java deleted file mode 100644 index 1676bbc..0000000 --- a/src/main/java/hw7.java +++ /dev/null @@ -1,57 +0,0 @@ -import java.util.Arrays; -import java.util.Collections; - -public class hw7 { - public static void main(String[] args) { - int[] arr1 = {1,4,9,9}; - System.out.println(sum(arr1)); - - int[] arr2 = {55,63,11,11,21,231,234,121,456,789,0,3546,345,33232}; - System.out.println(sum(arr2)); - - int[] arr3 = {0}; - System.out.println(sum(arr3)); - - sort(arr1); - sort(arr2); - sort(arr3); - - System.out.println(); - System.out.println("min = "+ min_max(arr1)[0] + ", max = "+ min_max(arr1)[1]); - System.out.println("min = "+ min_max(arr2)[0] + ", max = "+ min_max(arr2)[1]); - System.out.println("min = "+ min_max(arr3)[0] + ", max = "+ min_max(arr3)[1]); - } - - public static int[] min_max(int[]arr){ - int min = arr[0]; - int max = arr[0]; - - for (int v:arr){ - if(v>max){ - max=v; - } - if(v=0; i--){ - System.out.print(arr[i]+" "); - } -// for (int v:arr){ -// System.out.print(v+" "); -// } - } - public static int sum(int[] arr){ - int sum = 0; - for(int v:arr){ - sum=sum+v; - } - return sum; - } -} diff --git a/src/main/java/scanner/Scan.java b/src/main/java/scanner/Scan.java new file mode 100644 index 0000000..a0a3062 --- /dev/null +++ b/src/main/java/scanner/Scan.java @@ -0,0 +1,26 @@ +package scanner; + +import java.util.*; +import java.util.regex.Pattern; +import java.util.regex.Matcher; + +public class Scan { + public static void main(String[] args) { + + String s = "Hello World! 3 + 3.0 = 6"; + + // create a new scanner with the specified String Object + Scanner scanner = new Scanner(System.in); + Pattern p = Pattern.compile("[a-zA-Z0-9 ]*"); +while (!scanner.hasNext(p)) { + System.out.print("" + scanner.hasNext(p) + " "); + System.out.println("Это все хуйня, пробуй еще! " + scanner.next()); +} + + // print the rest of the string + System.out.println("Thank you. " + scanner.next()); + + // close the scanner + scanner.close(); + } +} \ No newline at end of file diff --git a/src/test/java/HWS5/Gtest.java b/src/test/java/HWS5/Gtest.java new file mode 100644 index 0000000..b2c8f9e --- /dev/null +++ b/src/test/java/HWS5/Gtest.java @@ -0,0 +1,56 @@ +package HWS5; + +import org.openqa.selenium.By; +import org.openqa.selenium.Keys; +import org.openqa.selenium.StaleElementReferenceException; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.support.ui.FluentWait; +import org.testng.Assert; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Parameters; +import org.testng.annotations.Test; + +import java.time.Duration; + +public class Gtest { + + private WebDriver driver; + private FluentWait fluentWait; + + + @BeforeMethod + public void StartUp() { + System.setProperty("webdriver.chrome.driver","chromedriver.exe"); + ChromeOptions options = new ChromeOptions(); + options.addArguments("--headless"); + driver = new ChromeDriver(options); + driver.get("http://google.com"); + + fluentWait = new FluentWait(driver) + .withTimeout(Duration.ofSeconds(12)) + .pollingEvery(Duration.ofMillis(150)) + .ignoring(Exception.class) + .ignoring(StaleElementReferenceException.class); + + } + @AfterMethod + public void Close() throws InterruptedException { + Thread.sleep(4000); + driver.close(); + } + @Parameters({"Search-query"}) + @Test + public void googleSearchTest(String sQuery){ + fluentWait.until(x->x.findElement(By.name("q")).isDisplayed()); + driver.findElement(By.name("q")).sendKeys(sQuery, Keys.ENTER); + + + Assert.assertTrue(driver.findElement(By.xpath("//*[@class='hdtb-mitem hdtb-msel hdtb-imb']")).isDisplayed()); + + } + + +} diff --git a/src/test/java/HWS5/work.java b/src/test/java/HWS5/work.java new file mode 100644 index 0000000..965c1cc --- /dev/null +++ b/src/test/java/HWS5/work.java @@ -0,0 +1,92 @@ +package HWS5; +import org.openqa.selenium.*; +import org.openqa.selenium.chrome.ChromeDriver; +import org.openqa.selenium.interactions.Actions; +import org.openqa.selenium.support.ui.FluentWait; +import org.testng.Assert; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +import java.security.Key; +import java.time.Duration; + +public class work { + private WebDriver driver; + private FluentWait fluentWait; + + // JavascriptExecutor js = (JavascriptExecutor) driver; + public boolean isExist(){ + try { + driver.findElement(By.xpath("//*[@class='playlist playlist']/*[.='Shsmith']")).isDisplayed(); + } + catch (NoSuchElementException err){ + return false; + } + return true; + } + + @BeforeMethod + public void startUp() { + System.setProperty("webdriver.chrome.driver", "chromedriver.exe"); + driver = new ChromeDriver(); + driver.get("https://koelapp.testpro.io"); + + fluentWait = new FluentWait(driver) + .withTimeout(Duration.ofSeconds(12)) + .pollingEvery(Duration.ofMillis(150)) + .ignoring(Exception.class) + .ignoring(StaleElementReferenceException.class); + } + @AfterMethod + public void tearDown()throws InterruptedException { + Thread.sleep(5000); + driver.quit(); + } + @Test //positive testing - Correct login with correct credentials + public void login_CorrectCredentialsLoginForm() throws InterruptedException { + fluentWait.until(x->x.findElement(By.cssSelector("[type = 'submit']")).isDisplayed()); + driver.findElement(By.cssSelector("[type = 'email']")).sendKeys("testpro.user02@testpro.io"); + driver.findElement(By.cssSelector("[type = 'password']")).sendKeys("te$t$tudent02"); + driver.findElement(By.cssSelector("[type = 'submit']")).click(); + + fluentWait.until(x->x.findElement(By.xpath("//*[@class='playlist playlist']")).isDisplayed()); + + Actions actions = new Actions(driver); + Thread.sleep(2000); + while (isExist()){ + WebElement hh = driver.findElement(By.xpath("//*[@class='playlist playlist']/*[.='Shsmith']")); + //js.executeScript("arguments[0].scrollIntoView();",hh ); + hh.click(); + Thread.sleep(1000); + WebElement active = driver.findElement(By.cssSelector("[class='active']")); + actions.doubleClick(active).perform(); + Thread.sleep(2000); + + driver.findElement(By.xpath("//*[@type='text']")).sendKeys(".old",Keys.ENTER); // //*[@type='text'] // "//*[@class='playlist playlist editing']" + } + + driver.findElement(By.cssSelector("[class='fa fa-plus-circle control create']")).click(); + fluentWait.until(x->x.findElement(By.xpath("//*[@placeholder='↵ to save']")).isDisplayed()); + driver.findElement(By.xpath("//*[@placeholder='↵ to save']")).sendKeys("Shsmith",Keys.ENTER); + //driver.findElement(By.xpath("//*[@placeholder='↵ to save']")).sendKeys(Keys.ENTER); + //driver.findElement(By.xpath("//*[@class=\"playlist playlist\"]/*[.='Shsmith']")); + Thread.sleep(1000); + + Assert.assertTrue(driver.findElement(By.xpath("//*[@class='playlist playlist']/*[.='sh11.old']")).isDisplayed()); + } + @Test //negative - verifying incorrect authorization form behavior + public void login_InCorrectCredentialsLoginForm() throws InterruptedException { + fluentWait.until(x->x.findElement(By.cssSelector("[type = 'submit']")).isDisplayed()); + driver.findElement(By.cssSelector("[type = 'email']")).sendKeys("testpro.user02t@estpro.io");//testpro.user02@testpro.io + driver.findElement(By.cssSelector("[type = 'password']")).sendKeys("te$t$tudent02"); + driver.findElement(By.cssSelector("[type = 'submit']")).click(); + + fluentWait.until(x->x.findElement(By.xpath("//*[@class='error']")).isDisplayed()); + Assert.assertTrue(driver.findElement(By.xpath("//*[@class='error']")).isDisplayed()); + + } + + + +} diff --git a/src/test/java/HWs/BrowserFactory/BrowserFactory.java b/src/test/java/HWs/BrowserFactory/BrowserFactory.java new file mode 100644 index 0000000..9d090df --- /dev/null +++ b/src/test/java/HWs/BrowserFactory/BrowserFactory.java @@ -0,0 +1,69 @@ +package HWs.BrowserFactory; + +import HWs.ENUMS.BrowserType; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.edge.EdgeDriver; +import org.openqa.selenium.edge.EdgeOptions; +import org.openqa.selenium.firefox.FirefoxDriver; +import org.openqa.selenium.firefox.FirefoxOptions; +import org.openqa.selenium.opera.OperaDriver; +import org.openqa.selenium.opera.OperaOptions; + +public class BrowserFactory { + public static WebDriver createWebDriver(BrowserType browserType) throws NoSuchMethodException { + switch (browserType) { + case CHROME: + return getCromeDriver(); + case FIREFOX: + return getFirefoxDriver(); + case OPERA: + return getOperaDriver(); + case EDGE: + return getEdgeDriver(); + default: throw new NoSuchMethodException("Browser driver not defined"); + } + } + + private static WebDriver getCromeDriver() { + System.setProperty("webdriver.chrome.driver","chromedriver.exe"); + ChromeOptions options = new ChromeOptions(); + options.addArguments("window-size=1400,1000"); + // options.addArguments("--headless"); + + // mobile drivers settings +// options.setExperimentalOption("androidPackage", "com.sec.android.app.sbrowser.beta"); +// options.setExperimentalOption("androidActivity", "com.sec.android.app.sbrowser.SBrowserMainActivity"); +// options.setExperimentalOption("androidDeviceSocket", "Terrace_devtools_remote"); +// options.setExperimentalOption("androidExecName", "Terrace"); + + + return new ChromeDriver(options); + } + + private static WebDriver getOperaDriver() { + System.setProperty("webdriver.opera.driver","operadriver.exe"); + OperaOptions options = new OperaOptions(); + options.addArguments("window-size=1400,1000"); +// options.addArguments("--headless"); + return new OperaDriver(options); + } + + private static WebDriver getFirefoxDriver() { + FirefoxOptions options = new FirefoxOptions(); + options.addArguments("--width=1400"); + options.addArguments("--height=1000"); +// options.addArguments("--headless"); + System.setProperty("webdriver.gecko.driver","geckodriver.exe"); + return new FirefoxDriver(options); + } + + private static WebDriver getEdgeDriver() { + EdgeOptions options = new EdgeOptions(); + System.setProperty("webdriver.edge.driver","msedgedriver.exe"); + + // options.addArguments("--headless"); + return new EdgeDriver(options); + } +} diff --git a/src/test/java/HWs/ENUMS/BrowserType.java b/src/test/java/HWs/ENUMS/BrowserType.java new file mode 100644 index 0000000..74ef0f9 --- /dev/null +++ b/src/test/java/HWs/ENUMS/BrowserType.java @@ -0,0 +1,8 @@ +package HWs.ENUMS; + +public enum BrowserType { + CHROME, + FIREFOX, + OPERA, + EDGE, +} diff --git a/src/test/java/HWs/Tests/BaseTest.java b/src/test/java/HWs/Tests/BaseTest.java new file mode 100644 index 0000000..cf7e35b --- /dev/null +++ b/src/test/java/HWs/Tests/BaseTest.java @@ -0,0 +1,22 @@ +package HWs.Tests; + +import HWs.BrowserFactory.BrowserFactory; +import HWs.ENUMS.BrowserType; +import org.openqa.selenium.WebDriver; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; + +public class BaseTest { + protected WebDriver driver; + + @BeforeMethod + public void startUp() throws NoSuchMethodException { + driver= BrowserFactory.createWebDriver(BrowserType.CHROME); + } + + @AfterMethod + public void tearDown() throws InterruptedException { + Thread.sleep(5000); + driver.quit(); + } +} diff --git a/src/test/java/HWs/Tests/HomepageTest.java b/src/test/java/HWs/Tests/HomepageTest.java new file mode 100644 index 0000000..5ee7005 --- /dev/null +++ b/src/test/java/HWs/Tests/HomepageTest.java @@ -0,0 +1,29 @@ +package HWs.Tests; + +import HWs.pageObjects.HomePage; +import HWs.pageObjects.LoginPage; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class HomepageTest extends BaseTest{ + + @Test + public void createPlayListTest_1ItemCreated() { + LoginPage loginPage = new LoginPage(driver); + loginPage.openPage(); + HomePage homePage = loginPage.login("testpro.user02@testpro.io", "te$t$tudent02"); + homePage.setPlayListName("zzz"); + homePage.addPlaylist(homePage.getPlayListName()); + Assert.assertTrue(homePage.isPlayListCreated()); + } + @Test + public void PlayListTest_ItemChanged() throws InterruptedException { + LoginPage loginPage = new LoginPage(driver); + loginPage.openPage(); + HomePage homePage = loginPage.login("testpro.user02@testpro.io", "te$t$tudent02"); + homePage.setPlayListName("zzz"); + + homePage.changePlaylistCheckingExisting(homePage.getPlayListName()); + Assert.assertTrue(homePage.isPlayListChanged()); + } +} diff --git a/src/test/java/HWs/Tests/LoginTests.java b/src/test/java/HWs/Tests/LoginTests.java new file mode 100644 index 0000000..382e17f --- /dev/null +++ b/src/test/java/HWs/Tests/LoginTests.java @@ -0,0 +1,28 @@ +package HWs.Tests; + +import org.openqa.selenium.WebDriver; +import org.testng.Assert; +import org.testng.annotations.Test; +import HWs.pageObjects.HomePage; +import HWs.pageObjects.LoginPage; + +public class LoginTests extends BaseTest{ + @Test + public void loginTest_correctCredentials_loggedToApp() { + LoginPage loginPage = new LoginPage(driver); + loginPage.openPage(); + HomePage homePage = loginPage.login("testpro.user02@testpro.io", "te$t$tudent02"); + Assert.assertTrue(homePage.isHomepage()); + } + + @Test + public void loginTest_incorrectCredentials_notLoggedToApp() { + LoginPage loginPage = new LoginPage(driver); + loginPage.openPage(); + loginPage.login("testpro.user02@testpro.io", "********"); + Assert.assertTrue(loginPage.isError()); + } + + + +} diff --git a/src/test/java/HWs/listeners/Listeners.java b/src/test/java/HWs/listeners/Listeners.java new file mode 100644 index 0000000..8026a9d --- /dev/null +++ b/src/test/java/HWs/listeners/Listeners.java @@ -0,0 +1,45 @@ +package HWs.listeners; + +import org.testng.ITestContext; +import org.testng.ITestListener; +import org.testng.ITestResult; + +public class Listeners implements ITestListener { + + + @Override + public void onTestStart(ITestResult iTestResult) { + System.out.println("Test started" + iTestResult.getTestName()); + + } + + @Override + public void onTestSuccess(ITestResult iTestResult) { + + } + + @Override + public void onTestFailure(ITestResult iTestResult) { + + } + + @Override + public void onTestSkipped(ITestResult iTestResult) { + + } + + @Override + public void onTestFailedButWithinSuccessPercentage(ITestResult iTestResult) { + + } + + @Override + public void onStart(ITestContext iTestContext) { + + } + + @Override + public void onFinish(ITestContext iTestContext) { + + } +} diff --git a/src/test/java/HWs/listeners/RetryAnalyzer.java b/src/test/java/HWs/listeners/RetryAnalyzer.java new file mode 100644 index 0000000..321ff0d --- /dev/null +++ b/src/test/java/HWs/listeners/RetryAnalyzer.java @@ -0,0 +1,19 @@ +package HWs.listeners; + +import org.testng.IRetryAnalyzer; +import org.testng.ITestResult; + +public class RetryAnalyzer implements IRetryAnalyzer { + private int retryCount = 0; + private static final int maxRetryCount = 2; + + @Override + public boolean retry(ITestResult result) { + if (retryCount < maxRetryCount) { + retryCount++; + return true; + } + return false; + } + +} diff --git a/src/test/java/HWs/pageObjects/BasePage.java b/src/test/java/HWs/pageObjects/BasePage.java new file mode 100644 index 0000000..c8f3d07 --- /dev/null +++ b/src/test/java/HWs/pageObjects/BasePage.java @@ -0,0 +1,21 @@ +package HWs.pageObjects; + +import org.openqa.selenium.StaleElementReferenceException; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.support.ui.FluentWait; +import java.time.Duration; + +public class BasePage { + protected WebDriver driver; + protected FluentWait fluentWait; + protected final String url = "https://koelapp.testpro.io/"; + + public BasePage(WebDriver driver) { + this.driver = driver; + this.fluentWait = new FluentWait(this.driver) + .withTimeout(Duration.ofSeconds(5)) + .pollingEvery(Duration.ofMillis(500)) + .ignoring(Exception.class) + .ignoring(StaleElementReferenceException.class); + } +} diff --git a/src/test/java/HWs/pageObjects/HomePage.java b/src/test/java/HWs/pageObjects/HomePage.java new file mode 100644 index 0000000..d88f9f9 --- /dev/null +++ b/src/test/java/HWs/pageObjects/HomePage.java @@ -0,0 +1,93 @@ +package HWs.pageObjects; + +import org.openqa.selenium.*; +import org.openqa.selenium.interactions.Actions; + + +public class HomePage extends BasePage{ + + private String homeButtonXpath = "//*[@class='home active']"; + private String homePlayListCreateCSSSelector = "[class='fa fa-plus-circle control create']"; + private String homePlayListInputXpatch = "//*[@placeholder='↵ to save']"; + private String PlayListName; + private String homePlayListElementXpatch; + private String homePlayListActiveElementCSS = "[class='active']"; + private String homePlayListActiveEditingXpath = "//*[@type='text']"; + + public void setPlayListName(String PlayListName){ + this.PlayListName=PlayListName; + } + + public String getPlayListName() { + return PlayListName; + } + public String getPlayListElementXpatch(){ + return homePlayListElementXpatch = "//*[@class='playlist playlist']/*[.='"+PlayListName+"']"; + } + public WebElement getHomePlayListCreateCSSSelector() {return driver.findElement(By.cssSelector(homePlayListCreateCSSSelector));} + public WebElement getHomePlayListInputXpatch() {return driver.findElement(By.xpath(homePlayListInputXpatch));} + public WebElement getHomePlayListElementXpatch() {return driver.findElement(By.xpath(getPlayListElementXpatch()));} + public WebElement getHomePlayListActiveElementCSS() {return driver.findElement(By.cssSelector(homePlayListActiveElementCSS));} + public WebElement getHomePlayListActiveEditingXpath() {return driver.findElement(By.xpath(homePlayListActiveEditingXpath));} + public WebElement getHomeSideBarXpath() {return driver.findElement(By.xpath("//*[@id='sidebar']"));} + + public HomePage(WebDriver driver) { + super(driver); + } + + public boolean isHomepage(){ + try{ + fluentWait.until(x->x.findElement(By.xpath(homeButtonXpath))); + } catch (TimeoutException err) { + return false; + } + return true; + } + public boolean isPlayListCreated() { + try { + fluentWait.until(x -> x.findElement(By.xpath(getPlayListElementXpatch())).isDisplayed()); + } catch (NoSuchElementException err) { + return false; + } + return true; + } + public boolean isPlayListChanged() { + try { + fluentWait.until(x -> x.findElement(By.xpath("//*[@class='playlist playlist']/*[.='zzz.old']")).isDisplayed()); + } catch (NoSuchElementException | TimeoutException err) { + return false; + } + return true; + } + public boolean isPlayListExists(){ + try { + Thread.sleep(1000); + getHomePlayListElementXpatch().isDisplayed(); + } + catch (NoSuchElementException | InterruptedException err){ + return false; + } + return true; + } + public void addPlaylist(String getPlayListName) { + fluentWait.until(x->x.findElement(By.cssSelector(homePlayListCreateCSSSelector)).isDisplayed()); + getHomePlayListCreateCSSSelector().click(); + fluentWait.until(x->x.findElement(By.xpath(homePlayListInputXpatch)).isDisplayed()); + getHomePlayListInputXpatch().sendKeys(getPlayListName,Keys.ENTER); + } + + + public void changePlaylistCheckingExisting(String getPlayListName) throws InterruptedException { + Actions actions = new Actions(driver); + fluentWait.until(x->x.findElement(By.cssSelector(homePlayListCreateCSSSelector)).isDisplayed()); + JavascriptExecutor js = (JavascriptExecutor) driver; + while (isPlayListExists()){ + js.executeScript("document.querySelector('#sidebar').scrollTo(0,document.querySelector('#sidebar').scrollHeight);"); + getHomePlayListElementXpatch().click(); + actions.doubleClick(getHomePlayListActiveElementCSS()).perform(); + fluentWait.until(x->x.findElement(By.xpath(homePlayListActiveEditingXpath)).isDisplayed()); + getHomePlayListActiveEditingXpath().sendKeys(".old",Keys.ENTER); + } + + } +} diff --git a/src/test/java/HWs/pageObjects/LoginPage.java b/src/test/java/HWs/pageObjects/LoginPage.java new file mode 100644 index 0000000..1a1f9ec --- /dev/null +++ b/src/test/java/HWs/pageObjects/LoginPage.java @@ -0,0 +1,44 @@ +package HWs.pageObjects; + +import org.openqa.selenium.*; + +public class LoginPage extends BasePage { + private final String emailXpath = "//*[@type='email']"; + private final String passwordXpath = "//*[@type='password']"; + private final String loginButtonXpath = "//*[@type='submit']"; + private final String errorXpath = "//*[@class='error']"; + + private final String url = "https://koelapp.testpro.io/"; + + public LoginPage(WebDriver driver) { + super(driver); + } + public void openPage(){ + driver.get(url); + } + public WebElement getEmailField(){ + return driver.findElement(By.xpath(emailXpath)); + } + public WebElement getPasswordField(){ + return driver.findElement(By.xpath(passwordXpath)); + } + public WebElement getLoginButton(){ + return driver.findElement(By.xpath(loginButtonXpath)); + } + + public HomePage login(String email, String password){ + getEmailField().sendKeys(email); + getPasswordField().sendKeys(password); + getLoginButton().click(); + return new HomePage(driver); + } + + public boolean isError() { + try{ + fluentWait.until(x->x.findElement(By.xpath(errorXpath))); + } catch (TimeoutException err) { + return false; + } + return true; + } +} diff --git a/src/test/java/apiTest/PlaylistTests.java b/src/test/java/apiTest/PlaylistTests.java index a6a75f0..e40e669 100644 --- a/src/test/java/apiTest/PlaylistTests.java +++ b/src/test/java/apiTest/PlaylistTests.java @@ -25,12 +25,14 @@ public void init(){ @Test public void playlistTests_CreatePlaylist_PlaylistCreated(){ String[] rules = {}; - var playlist = new CreatePlaylistRequest("AAAtttAAA",rules); + var playlist = new CreatePlaylistRequest("!sh11_token",rules); var requestBody = new Gson().toJson(playlist); + System.out.println(token); + Response response = given() .baseUri("https://koelapp.testpro.io/") - .header("Authorization",token) + .header("Authorization", "Bearer" + token) .basePath("api/playlist") .contentType(ContentType.JSON) .body(requestBody) @@ -43,6 +45,7 @@ public void playlistTests_CreatePlaylist_PlaylistCreated(){ JsonPath jsonPath = response.jsonPath(); CreatePlaylistResponse createdPlaylist = jsonPath.getObject("$",CreatePlaylistResponse.class); + Assert.assertEquals(playlist.name,createdPlaylist.name); Assert.assertEquals(createdPlaylist.songs.length,0); } diff --git a/src/test/java/helpers/Token.java b/src/test/java/helpers/Token.java index 6cb17b2..91428fb 100644 --- a/src/test/java/helpers/Token.java +++ b/src/test/java/helpers/Token.java @@ -1,9 +1,45 @@ package helpers; +import com.google.gson.Gson; +import helpers.Token; +import io.restassured.http.ContentType; +import io.restassured.path.json.JsonPath; +import io.restassured.response.Response; +import models.CreatePlaylistRequest; +import io.restassured.response.Response; +import models.CreatePlaylistResponse; +import models.CreateTokenRequest; +import models.CreateTokenResponce; +import org.testng.Assert; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; +import static io.restassured.RestAssured.*; + +import static io.restassured.RestAssured.given; + public class Token { public static String retrieveToken(){ String token=""; //Place your code here + var tokenRequest = new CreateTokenRequest("testpro.user02@testpro.io", "te$t$tudent02"); + var tokenRequestBody = new Gson().toJson(tokenRequest); + + Response response = given() + .baseUri("https://koelapp.testpro.io/") + .basePath("api/me") + .contentType(ContentType.JSON) + .body(tokenRequestBody) + .when() + .post() + .then() + .statusCode(200) + .extract() + .response(); + + JsonPath jsonPath = response.jsonPath(); + CreateTokenResponce createToken = jsonPath.getObject("$", CreateTokenResponce.class); + token = createToken.token; + return token; } } diff --git a/src/test/java/listeners/Listeners.java b/src/test/java/listeners/Listeners.java index 24a56a1..df3aeca 100644 --- a/src/test/java/listeners/Listeners.java +++ b/src/test/java/listeners/Listeners.java @@ -29,6 +29,7 @@ public void onTestFailure(ITestResult iTestResult) { @Override public void onTestSkipped(ITestResult iTestResult) { + logger.error("Test skipped "+ iTestResult.getName()); } diff --git a/src/test/java/models/CreateTokenRequest.java b/src/test/java/models/CreateTokenRequest.java new file mode 100644 index 0000000..d3a5d8c --- /dev/null +++ b/src/test/java/models/CreateTokenRequest.java @@ -0,0 +1,11 @@ +package models; + +public class CreateTokenRequest { + String email; + String password; + + public CreateTokenRequest(String name, String pass) { + this.email = name; + this.password = pass; + } +} diff --git a/src/test/java/models/CreateTokenResponce.java b/src/test/java/models/CreateTokenResponce.java new file mode 100644 index 0000000..51b0332 --- /dev/null +++ b/src/test/java/models/CreateTokenResponce.java @@ -0,0 +1,10 @@ +package models; + +public class CreateTokenResponce { + public String token = ""; + + + public CreateTokenResponce(String token) { + this.token = token; + } +} diff --git a/src/test/java/pageObjects/HomePageSelectors.java b/src/test/java/pageObjects/HomePageSelectors.java index aeb8949..43a9356 100644 --- a/src/test/java/pageObjects/HomePageSelectors.java +++ b/src/test/java/pageObjects/HomePageSelectors.java @@ -2,6 +2,6 @@ public class HomePageSelectors { public static final String homeButtonXpath = "//*[@class='home active']"; - public static final String plusButtonCssSelector = ".fa.fa-plus-circle"; + public static final String plusButtonCssSelector = "[class='fa fa-plus-circle control create']"; public static final String newPlaylistFieldXpath = "//*[@class='create']/*"; } diff --git a/src/test/java/tests/HomepageTests_new.java b/src/test/java/tests/HomepageTests_new.java index 998a796..3ff6eb4 100644 --- a/src/test/java/tests/HomepageTests_new.java +++ b/src/test/java/tests/HomepageTests_new.java @@ -7,7 +7,7 @@ public class HomepageTests_new extends BaseTest{ @Test - public void new_loginTest_createNewPlaylist_newPlaylistCreated() { + public void new_loginTest_createNewPlaylist_newPlaylistCreated() throws InterruptedException { LoginPage loginPage = new LoginPage(driver); loginPage.openPage(); HomePage homePage = loginPage.login("testpro.user02@testpro.io","te$t$tudent02"); @@ -15,7 +15,7 @@ public void new_loginTest_createNewPlaylist_newPlaylistCreated() { Assert.assertTrue(homePage.isPlaylistCreated("HeyYoPlaylist")); } @Test - public void new_scrollDown(){ + public void new_scrollDown() throws InterruptedException { LoginPage loginPage = new LoginPage(driver); loginPage.openPage(); HomePage homePage = loginPage.login("testpro.user02@testpro.io","te$t$tudent02"); diff --git a/src/test/java/tests/koelApiDelTest.java b/src/test/java/tests/koelApiDelTest.java new file mode 100644 index 0000000..2fa8fbb --- /dev/null +++ b/src/test/java/tests/koelApiDelTest.java @@ -0,0 +1,4 @@ +package tests; + +public class koelApiDelTest { +} diff --git a/test-output/Master Suite/All tests.html b/test-output/Master Suite/All tests.html new file mode 100644 index 0000000..0253b1e --- /dev/null +++ b/test-output/Master Suite/All tests.html @@ -0,0 +1,481 @@ + + +TestNG: All tests + + + + + + + + +

All tests

+ + + + + + + + + + + +
Tests passed/Failed/Skipped:4/4/2
Started on:Sun May 03 21:07:27 EDT 2020
Total time:38 seconds (38046 ms)
Included groups:
Excluded groups:

+(Hover the method name to see the test class name)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FAILED TESTS
Test methodExceptionTime (seconds)Instance
loginTest_createNewPlaylist_newPlaylistCreated
Test class: tests.HomepageTests
Parameters: testpro.user02@testpro.io, te$t$tudent02, zzZZzzZZ
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav>
+  (Session info: headless chrome=81.0.4044.129)
+Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
+System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2'
+Driver info: org.openqa.selenium.chrome.ChromeDriver
+Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52993}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true}
+Session ID: 3063ba811f977efe89b82d7711908860
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
+	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
+	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
+	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
+	at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285)
+	at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84)
+	at pageObjects.HomePage.createNewPlaylist(HomePage.java:30)
+	at tests.HomepageTests.loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests.java:24)
+	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+	at java.base/java.lang.Thread.run(Thread.java:830)
+... Removed 15 stack frames
Click to show all stack frames +
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav>
+  (Session info: headless chrome=81.0.4044.129)
+Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
+System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2'
+Driver info: org.openqa.selenium.chrome.ChromeDriver
+Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52993}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true}
+Session ID: 3063ba811f977efe89b82d7711908860
+	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
+	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
+	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
+	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
+	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
+	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
+	at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285)
+	at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84)
+	at pageObjects.HomePage.createNewPlaylist(HomePage.java:30)
+	at tests.HomepageTests.loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests.java:24)
+	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
+	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104)
+	at org.testng.internal.Invoker.invokeMethod(Invoker.java:645)
+	at org.testng.internal.Invoker.retryFailed(Invoker.java:998)
+	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1200)
+	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
+	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
+	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+	at java.base/java.lang.Thread.run(Thread.java:830)
+
4tests.HomepageTests@a87f8ec
new_loginTest_createNewPlaylist_newPlaylistCreated
Test class: tests.HomepageTests_new
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav>
+  (Session info: headless chrome=81.0.4044.129)
+Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
+System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2'
+Driver info: org.openqa.selenium.chrome.ChromeDriver
+Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52866}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true}
+Session ID: 8c444ad715215aa814c7d7c3ad28957a
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
+	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
+	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
+	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
+	at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285)
+	at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84)
+	at pageObjects.HomePage.createNewPlaylist(HomePage.java:30)
+	at tests.HomepageTests_new.new_loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests_new.java:14)
+	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+	at java.base/java.lang.Thread.run(Thread.java:830)
+... Removed 15 stack frames
Click to show all stack frames +
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav>
+  (Session info: headless chrome=81.0.4044.129)
+Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
+System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2'
+Driver info: org.openqa.selenium.chrome.ChromeDriver
+Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52866}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true}
+Session ID: 8c444ad715215aa814c7d7c3ad28957a
+	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
+	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
+	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
+	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
+	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
+	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
+	at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285)
+	at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84)
+	at pageObjects.HomePage.createNewPlaylist(HomePage.java:30)
+	at tests.HomepageTests_new.new_loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests_new.java:14)
+	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
+	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104)
+	at org.testng.internal.Invoker.invokeMethod(Invoker.java:645)
+	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851)
+	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177)
+	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
+	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
+	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+	at java.base/java.lang.Thread.run(Thread.java:830)
+
8tests.HomepageTests_new@5443d039
new_scrollDown
Test class: tests.HomepageTests_new
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav>
+  (Session info: headless chrome=81.0.4044.129)
+Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
+System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2'
+Driver info: org.openqa.selenium.chrome.ChromeDriver
+Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52953}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true}
+Session ID: 084ad53abe263b127e15afd2166c6db3
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
+	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
+	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
+	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
+	at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285)
+	at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84)
+	at pageObjects.HomePage.createNewPlaylist(HomePage.java:30)
+	at tests.HomepageTests_new.new_scrollDown(HomepageTests_new.java:22)
+	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+	at java.base/java.lang.Thread.run(Thread.java:830)
+... Removed 15 stack frames
Click to show all stack frames +
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav>
+  (Session info: headless chrome=81.0.4044.129)
+Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
+System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2'
+Driver info: org.openqa.selenium.chrome.ChromeDriver
+Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52953}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true}
+Session ID: 084ad53abe263b127e15afd2166c6db3
+	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
+	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
+	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
+	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
+	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
+	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
+	at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285)
+	at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84)
+	at pageObjects.HomePage.createNewPlaylist(HomePage.java:30)
+	at tests.HomepageTests_new.new_scrollDown(HomepageTests_new.java:22)
+	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
+	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104)
+	at org.testng.internal.Invoker.invokeMethod(Invoker.java:645)
+	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851)
+	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177)
+	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
+	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
+	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+	at java.base/java.lang.Thread.run(Thread.java:830)
+
5tests.HomepageTests_new@5443d039
scrollDown
Test class: tests.HomepageTests
Parameters: testpro.user02@testpro.io, te$t$tudent02, zzZZzzZZ, newZZZZZZZZZ
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav>
+  (Session info: headless chrome=81.0.4044.129)
+Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
+System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2'
+Driver info: org.openqa.selenium.chrome.ChromeDriver
+Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:53015}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true}
+Session ID: 32712f28dbd224c3549f06f90ee6fa1a
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
+	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
+	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
+	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
+	at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285)
+	at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84)
+	at pageObjects.HomePage.createNewPlaylist(HomePage.java:30)
+	at tests.HomepageTests.scrollDown(HomepageTests.java:35)
+	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+	at java.base/java.lang.Thread.run(Thread.java:830)
+... Removed 15 stack frames
Click to show all stack frames +
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav>
+  (Session info: headless chrome=81.0.4044.129)
+Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
+System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2'
+Driver info: org.openqa.selenium.chrome.ChromeDriver
+Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:53015}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true}
+Session ID: 32712f28dbd224c3549f06f90ee6fa1a
+	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
+	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
+	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
+	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
+	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
+	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
+	at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285)
+	at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84)
+	at pageObjects.HomePage.createNewPlaylist(HomePage.java:30)
+	at tests.HomepageTests.scrollDown(HomepageTests.java:35)
+	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
+	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104)
+	at org.testng.internal.Invoker.invokeMethod(Invoker.java:645)
+	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851)
+	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177)
+	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
+	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
+	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+	at java.base/java.lang.Thread.run(Thread.java:830)
+
3tests.HomepageTests@a87f8ec

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
PASSED TESTS
Test methodExceptionTime (seconds)Instance
loginTest_correctCredentials_loggedToApp
Test class: tests.LoginTests
Parameters: testpro.user02@testpro.io, te$t$tudent02
7tests.LoginTests@63787180
loginTest_incorrectCredentials_notLoggedToApp
Test class: tests.LoginTests
Parameters: testpro.user02@testpro.io, *******
2tests.LoginTests@63787180
new_loginTest_correctCredentials_loggedToApp
Test class: tests.LoginTests_new
6tests.LoginTests_new@7d1cfb8b
new_loginTest_incorrectCredentials_notLoggedToApp
Test class: tests.LoginTests_new
2tests.LoginTests_new@7d1cfb8b

+ + + + + + + + + + + + + + + + + +
SKIPPED TESTS
Test methodExceptionTime (seconds)Instance
loginTest_createNewPlaylist_newPlaylistCreated
Test class: tests.HomepageTests
Parameters: testpro.user02@testpro.io, te$t$tudent02, zzZZzzZZ
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav>
+  (Session info: headless chrome=81.0.4044.129)
+Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
+System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2'
+Driver info: org.openqa.selenium.chrome.ChromeDriver
+Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52867}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true}
+Session ID: 2970254833708fa6221e0abba0420d96
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
+	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
+	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
+	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
+	at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285)
+	at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84)
+	at pageObjects.HomePage.createNewPlaylist(HomePage.java:30)
+	at tests.HomepageTests.loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests.java:24)
+	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+	at java.base/java.lang.Thread.run(Thread.java:830)
+... Removed 15 stack frames
Click to show all stack frames +
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav>
+  (Session info: headless chrome=81.0.4044.129)
+Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
+System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2'
+Driver info: org.openqa.selenium.chrome.ChromeDriver
+Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52867}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true}
+Session ID: 2970254833708fa6221e0abba0420d96
+	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
+	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
+	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
+	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
+	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
+	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
+	at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285)
+	at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84)
+	at pageObjects.HomePage.createNewPlaylist(HomePage.java:30)
+	at tests.HomepageTests.loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests.java:24)
+	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
+	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104)
+	at org.testng.internal.Invoker.invokeMethod(Invoker.java:645)
+	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851)
+	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177)
+	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
+	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
+	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+	at java.base/java.lang.Thread.run(Thread.java:830)
+
9tests.HomepageTests@a87f8ec
loginTest_createNewPlaylist_newPlaylistCreated
Test class: tests.HomepageTests
Parameters: testpro.user02@testpro.io, te$t$tudent02, zzZZzzZZ
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav>
+  (Session info: headless chrome=81.0.4044.129)
+Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
+System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2'
+Driver info: org.openqa.selenium.chrome.ChromeDriver
+Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52954}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true}
+Session ID: ef8ac6c8568587205788a83c05872028
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
+	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
+	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
+	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
+	at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285)
+	at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84)
+	at pageObjects.HomePage.createNewPlaylist(HomePage.java:30)
+	at tests.HomepageTests.loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests.java:24)
+	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+	at java.base/java.lang.Thread.run(Thread.java:830)
+... Removed 15 stack frames
Click to show all stack frames +
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav>
+  (Session info: headless chrome=81.0.4044.129)
+Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
+System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2'
+Driver info: org.openqa.selenium.chrome.ChromeDriver
+Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52954}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true}
+Session ID: ef8ac6c8568587205788a83c05872028
+	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
+	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
+	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
+	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
+	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
+	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
+	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
+	at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285)
+	at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84)
+	at pageObjects.HomePage.createNewPlaylist(HomePage.java:30)
+	at tests.HomepageTests.loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests.java:24)
+	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
+	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104)
+	at org.testng.internal.Invoker.invokeMethod(Invoker.java:645)
+	at org.testng.internal.Invoker.retryFailed(Invoker.java:998)
+	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1200)
+	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
+	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
+	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
+	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
+	at java.base/java.lang.Thread.run(Thread.java:830)
+
4tests.HomepageTests@a87f8ec

+ + \ No newline at end of file diff --git a/test-output/Master Suite/All tests.xml b/test-output/Master Suite/All tests.xml new file mode 100644 index 0000000..e89d92a --- /dev/null +++ b/test-output/Master Suite/All tests.xml @@ -0,0 +1,147 @@ + + + + + + + + is not clickable at point (233, 408). Other element would receive the click:

+ (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52866}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 8c444ad715215aa814c7d7c3ad28957a + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests_new.new_loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests_new.java:14) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +... Removed 15 stack frames]]> + + + + + + + + + + + + + is not clickable at point (233, 408). Other element would receive the click: + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52953}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 084ad53abe263b127e15afd2166c6db3 + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests_new.new_scrollDown(HomepageTests_new.java:22) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +... Removed 15 stack frames]]> + + + + + is not clickable at point (233, 408). Other element would receive the click: + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52993}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 3063ba811f977efe89b82d7711908860 + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests.loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests.java:24) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +... Removed 15 stack frames]]> + + + + + is not clickable at point (233, 408). Other element would receive the click: + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:53015}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 32712f28dbd224c3549f06f90ee6fa1a + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests.scrollDown(HomepageTests.java:35) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +... Removed 15 stack frames]]> + + + + + + + + + + + + diff --git a/test-output/Master Suite/testng-failed.xml b/test-output/Master Suite/testng-failed.xml new file mode 100644 index 0000000..5d05339 --- /dev/null +++ b/test-output/Master Suite/testng-failed.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test-output/bullet_point.png b/test-output/bullet_point.png new file mode 100644 index 0000000..176e6d5 Binary files /dev/null and b/test-output/bullet_point.png differ diff --git a/test-output/collapseall.gif b/test-output/collapseall.gif new file mode 100644 index 0000000..a2d80a9 Binary files /dev/null and b/test-output/collapseall.gif differ diff --git a/test-output/emailable-report.html b/test-output/emailable-report.html new file mode 100644 index 0000000..9d7d9c6 --- /dev/null +++ b/test-output/emailable-report.html @@ -0,0 +1,122 @@ + +TestNG Report
Test# Passed# Skipped# FailedTime (ms)Included GroupsExcluded Groups
Master Suite
All tests42438,046
ClassMethodStartTime (ms)
Master Suite
All tests — failed
tests.HomepageTestsloginTest_createNewPlaylist_newPlaylistCreated15885544725604008
scrollDown15885544806003740
tests.HomepageTests_newnew_loginTest_createNewPlaylist_newPlaylistCreated15885544513768783
new_scrollDown15885544642595650
All tests — skipped
tests.HomepageTestsloginTest_createNewPlaylist_newPlaylistCreated15885544643044665
loginTest_createNewPlaylist_newPlaylistCreated
All tests — passed
tests.LoginTestsloginTest_correctCredentials_loggedToApp15885544513767173
loginTest_incorrectCredentials_notLoggedToApp15885544621772555
tests.LoginTests_newnew_loginTest_correctCredentials_loggedToApp15885544513766162
new_loginTest_incorrectCredentials_notLoggedToApp15885544611502076

All tests

tests.HomepageTests#loginTest_createNewPlaylist_newPlaylistCreated

Parameter #1Parameter #2Parameter #3
testpro.user02@testpro.iote$t$tudent02zzZZzzZZ
Exception
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav> + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52993}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 3063ba811f977efe89b82d7711908860 + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests.loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests.java:24) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +... Removed 15 stack frames

back to summary

tests.HomepageTests#scrollDown

Parameter #1Parameter #2Parameter #3Parameter #4
testpro.user02@testpro.iote$t$tudent02zzZZzzZZnewZZZZZZZZZ
Exception
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav> + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:53015}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 32712f28dbd224c3549f06f90ee6fa1a + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests.scrollDown(HomepageTests.java:35) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +... Removed 15 stack frames

back to summary

tests.HomepageTests_new#new_loginTest_createNewPlaylist_newPlaylistCreated

Exception
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav> + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52866}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 8c444ad715215aa814c7d7c3ad28957a + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests_new.new_loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests_new.java:14) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +... Removed 15 stack frames

back to summary

tests.HomepageTests_new#new_scrollDown

Exception
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav> + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52953}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 084ad53abe263b127e15afd2166c6db3 + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests_new.new_scrollDown(HomepageTests_new.java:22) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +... Removed 15 stack frames

back to summary

tests.HomepageTests#loginTest_createNewPlaylist_newPlaylistCreated

Parameter #1Parameter #2Parameter #3
testpro.user02@testpro.iote$t$tudent02zzZZzzZZ
Exception
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav> + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52954}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: ef8ac6c8568587205788a83c05872028 + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests.loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests.java:24) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +... Removed 15 stack frames

back to summary

tests.HomepageTests#loginTest_createNewPlaylist_newPlaylistCreated

Parameter #1Parameter #2Parameter #3
testpro.user02@testpro.iote$t$tudent02zzZZzzZZ
Exception
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav> + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52867}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 2970254833708fa6221e0abba0420d96 + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests.loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests.java:24) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +... Removed 15 stack frames

back to summary

tests.LoginTests#loginTest_correctCredentials_loggedToApp

Parameter #1Parameter #2
testpro.user02@testpro.iote$t$tudent02

back to summary

tests.LoginTests#loginTest_incorrectCredentials_notLoggedToApp

Parameter #1Parameter #2
testpro.user02@testpro.io*******

back to summary

tests.LoginTests_new#new_loginTest_correctCredentials_loggedToApp

back to summary

tests.LoginTests_new#new_loginTest_incorrectCredentials_notLoggedToApp

back to summary

\ No newline at end of file diff --git a/test-output/failed.png b/test-output/failed.png new file mode 100644 index 0000000..c117be5 Binary files /dev/null and b/test-output/failed.png differ diff --git a/test-output/index.html b/test-output/index.html new file mode 100644 index 0000000..73f5f34 --- /dev/null +++ b/test-output/index.html @@ -0,0 +1,797 @@ + + + + + + TestNG reports + + + + + + + + + + +
+ Test results +
+ 1 suite, 4 failed tests +
+ +
+
+
+
+
+ + tests.HomepageTests_new +
+
+
+
+ + + new_loginTest_createNewPlaylist_newPlaylistCreated +
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav> + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52866}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 8c444ad715215aa814c7d7c3ad28957a + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests_new.new_loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests_new.java:14) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +... Removed 15 stack frames +
+
+
+
+
+ + + new_scrollDown +
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav> + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52953}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 084ad53abe263b127e15afd2166c6db3 + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests_new.new_scrollDown(HomepageTests_new.java:22) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +... Removed 15 stack frames +
+
+
+
+
+
+
+ + tests.HomepageTests +
+
+
+
+ + + loginTest_createNewPlaylist_newPlaylistCreated + (testpro.user02@testpro.io, te$t$tudent02, zzZZzzZZ) +
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav> + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52993}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 3063ba811f977efe89b82d7711908860 + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests.loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests.java:24) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +... Removed 15 stack frames +
+
+
+
+
+ + + scrollDown + (testpro.user02@testpro.io, te$t$tudent02, zzZZzzZZ, newZZZZZZZZZ) +
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav> + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:53015}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 32712f28dbd224c3549f06f90ee6fa1a + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests.scrollDown(HomepageTests.java:35) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +... Removed 15 stack frames +
+
+
+
+
+
+
+ + tests.HomepageTests +
+
+
+
+ + + loginTest_createNewPlaylist_newPlaylistCreated + (testpro.user02@testpro.io, te$t$tudent02, zzZZzzZZ) +
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav> + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52954}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: ef8ac6c8568587205788a83c05872028 + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests.loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests.java:24) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +... Removed 15 stack frames +
+
+
+
+
+ + + loginTest_createNewPlaylist_newPlaylistCreated + (testpro.user02@testpro.io, te$t$tudent02, zzZZzzZZ) +
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <i class="fa fa-plus-circle control create"></i> is not clickable at point (233, 408). Other element would receive the click: <nav id="sidebar" class="side side-nav showing">...</nav> + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52867}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 2970254833708fa6221e0abba0420d96 + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests.loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests.java:24) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +... Removed 15 stack frames +
+
+
+
+
+
+
+ + tests.LoginTests_new +
+
+
+
+ + + new_loginTest_correctCredentials_loggedToApp +
+
+
+
+ + + new_loginTest_incorrectCredentials_notLoggedToApp +
+
+
+
+
+
+ + tests.LoginTests +
+
+
+
+ + + loginTest_correctCredentials_loggedToApp + (testpro.user02@testpro.io, te$t$tudent02) +
+
+
+
+ + + loginTest_incorrectCredentials_notLoggedToApp + (testpro.user02@testpro.io, *******) +
+
+
+
+
+
+
+ C:\Users\shsmi\Dropbox\QA\TestPro\JavaCore2\testng.xml +
+
+
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
+<suite thread-count="4" parallel="classes" name="Master Suite" guice-stage="DEVELOPMENT">
+  <parameter name="wrong-password" value="*******"/>
+  <parameter name="password" value="te$t$tudent02"/>
+  <parameter name="playlist" value="zzZZzzZZ"/>
+  <parameter name="email" value="testpro.user02@testpro.io"/>
+  <parameter name="new-playlist" value="newZZZZZZZZZ"/>
+  <listeners>
+    <listener class-name="listeners.Listeners"/>
+  </listeners>
+  <test name="All tests">
+    <classes>
+      <class name="tests.HomepageTests">
+        <methods>
+          <include name="loginTest_createNewPlaylist_newPlaylistCreated"/>
+          <include name="scrollDown"/>
+        </methods>
+      </class> <!-- tests.HomepageTests -->
+      <class name="tests.HomepageTests_new">
+        <methods>
+          <include name="new_loginTest_createNewPlaylist_newPlaylistCreated"/>
+          <include name="new_scrollDown"/>
+        </methods>
+      </class> <!-- tests.HomepageTests_new -->
+      <class name="tests.LoginTests">
+        <methods>
+          <include name="loginTest_correctCredentials_loggedToApp"/>
+          <include name="loginTest_incorrectCredentials_notLoggedToApp"/>
+          <include name="test_Fails"/>
+        </methods>
+      </class> <!-- tests.LoginTests -->
+      <class name="tests.LoginTests_new">
+        <methods>
+          <include name="new_loginTest_correctCredentials_loggedToApp"/>
+          <include name="new_loginTest_incorrectCredentials_notLoggedToApp"/>
+        </methods>
+      </class> <!-- tests.LoginTests_new -->
+    </classes>
+  </test> <!-- All tests -->
+</suite> <!-- Master Suite -->
+            
+
+
+
+
+ Tests for Master Suite +
+
+
    +
  • + All tests (4 classes) +
  • +
+
+
+
+
+ Groups for Master Suite +
+
+
+
+
+
+ Times for Master Suite +
+
+
+ + Total running time: 54 seconds +
+
+
+
+
+
+
+ Reporter output for Master Suite +
+
+
+
+
+
+ 3 ignored methods +
+
+
+ tests.LoginTests +
+ test_Sum +
+ test_StringSum +
+ test_Fails +
+
+
+
+
+
+
+ Methods in chronological order +
+
+
+
tests.LoginTests_new
+
+ startUp + 0 ms +
+
+
+
tests.LoginTests
+
+ startUp + 0 ms +
+
+
+
tests.HomepageTests
+
+ startUp + 0 ms +
+
+
+
tests.HomepageTests_new
+
+ startUp + 0 ms +
+
+
+
tests.LoginTests
+
+ loginTest_correctCredentials_loggedToApp(testpro.user02@testpro.io, te$t$tudent02) + 4093 ms +
+
+
+
tests.LoginTests_new
+
+ new_loginTest_correctCredentials_loggedToApp + 4093 ms +
+
+
+
tests.HomepageTests_new
+
+ + + new_loginTest_createNewPlaylist_newPlaylistCreated + 4093 ms +
+
+
+
tests.HomepageTests
+
+ loginTest_createNewPlaylist_newPlaylistCreated(testpro.user02@testpro.io, te$t$tudent02, zzZZzzZZ) + 4094 ms +
+
+
+
tests.LoginTests_new
+
+ tearDown([TestResult name=new_loginTest_correctCredentials_loggedToApp status=SUCCESS method=LoginTests_new.n...) + 10256 ms +
+
+ startUp + 10810 ms +
+
+
+
tests.LoginTests
+
+ tearDown([TestResult name=loginTest_correctCredentials_loggedToApp status=SUCCESS method=LoginTests.loginTest...) + 11267 ms +
+
+ startUp + 11828 ms +
+
+
+
tests.HomepageTests_new
+
+ tearDown([TestResult name=new_loginTest_createNewPlaylist_newPlaylistCreated status=FAILURE method=HomepageTe...) + 12883 ms +
+
+
+
tests.HomepageTests
+
+ tearDown([TestResult name=loginTest_createNewPlaylist_newPlaylistCreated status=SKIP method=HomepageTests.log...) + 13322 ms +
+
+
+
tests.LoginTests_new
+
+ new_loginTest_incorrectCredentials_notLoggedToApp + 13867 ms +
+
+
+
tests.HomepageTests
+
+ startUp + 13897 ms +
+
+
+
tests.HomepageTests_new
+
+ startUp + 13903 ms +
+
+
+
tests.LoginTests
+
+ loginTest_incorrectCredentials_notLoggedToApp(testpro.user02@testpro.io, *******) + 14894 ms +
+
+
+
tests.LoginTests_new
+
+ tearDown([TestResult name=new_loginTest_incorrectCredentials_notLoggedToApp status=SUCCESS method=LoginTests_...) + 15943 ms +
+
+
+
tests.HomepageTests_new
+
+ + + new_scrollDown + 16976 ms +
+
+
+
tests.HomepageTests
+
+ loginTest_createNewPlaylist_newPlaylistCreated(testpro.user02@testpro.io, te$t$tudent02, zzZZzzZZ) + 17021 ms +
+
+
+
tests.LoginTests
+
+ tearDown([TestResult name=loginTest_incorrectCredentials_notLoggedToApp status=SUCCESS method=LoginTests.logi...) + 17449 ms +
+
+
+
tests.HomepageTests
+
+ tearDown([TestResult name=loginTest_createNewPlaylist_newPlaylistCreated status=SKIP method=HomepageTests.log...) + 21687 ms +
+
+ startUp + 22245 ms +
+
+
+
tests.HomepageTests_new
+
+ tearDown([TestResult name=new_scrollDown status=FAILURE method=HomepageTests_new.new_scrollDown()[pri:0, inst...) + 22627 ms +
+
+
+
tests.HomepageTests
+
+ + + loginTest_createNewPlaylist_newPlaylistCreated(testpro.user02@testpro.io, te$t$tudent02, zzZZzzZZ) + 25277 ms +
+
+ tearDown([TestResult name=loginTest_createNewPlaylist_newPlaylistCreated status=FAILURE method=HomepageTests....) + 29287 ms +
+
+ startUp + 30272 ms +
+
+ + + scrollDown(testpro.user02@testpro.io, te$t$tudent02, zzZZzzZZ, newZZZZZZZZZ) + 33317 ms +
+
+ tearDown([TestResult name=scrollDown status=FAILURE method=HomepageTests.scrollDown(java.lang.String, java.la...) + 37058 ms +
+
+
+
+
+ + diff --git a/test-output/jquery-1.7.1.min.js b/test-output/jquery-1.7.1.min.js new file mode 100644 index 0000000..198b3ff --- /dev/null +++ b/test-output/jquery-1.7.1.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.7.1 jquery.com | jquery.org/license */ +(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
"+""+"
",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
t
",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; +f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() +{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/test-output/junitreports/TEST-tests.HomepageTests.xml b/test-output/junitreports/TEST-tests.HomepageTests.xml new file mode 100644 index 0000000..783b25a --- /dev/null +++ b/test-output/junitreports/TEST-tests.HomepageTests.xml @@ -0,0 +1,111 @@ + + + + + + + + + is not clickable at point (233, 408). Other element would receive the click: + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:53015}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 32712f28dbd224c3549f06f90ee6fa1a + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests.scrollDown(HomepageTests.java:35) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:567) + at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104) + at org.testng.internal.Invoker.invokeMethod(Invoker.java:645) + at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851) + at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177) + at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) + at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +]]> + + + + + + + + is not clickable at point (233, 408). Other element would receive the click: + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52993}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 3063ba811f977efe89b82d7711908860 + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests.loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests.java:24) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:567) + at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104) + at org.testng.internal.Invoker.invokeMethod(Invoker.java:645) + at org.testng.internal.Invoker.retryFailed(Invoker.java:998) + at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1200) + at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) + at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +]]> + + + + + + + + + + + + diff --git a/test-output/junitreports/TEST-tests.HomepageTests_new.xml b/test-output/junitreports/TEST-tests.HomepageTests_new.xml new file mode 100644 index 0000000..00b36be --- /dev/null +++ b/test-output/junitreports/TEST-tests.HomepageTests_new.xml @@ -0,0 +1,105 @@ + + + + + + is not clickable at point (233, 408). Other element would receive the click: + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52953}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 084ad53abe263b127e15afd2166c6db3 + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests_new.new_scrollDown(HomepageTests_new.java:22) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:567) + at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104) + at org.testng.internal.Invoker.invokeMethod(Invoker.java:645) + at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851) + at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177) + at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) + at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +]]> + + + + + is not clickable at point (233, 408). Other element would receive the click: + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52866}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 8c444ad715215aa814c7d7c3ad28957a + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests_new.new_loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests_new.java:14) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:567) + at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104) + at org.testng.internal.Invoker.invokeMethod(Invoker.java:645) + at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851) + at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177) + at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) + at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +]]> + + + + + + + + + + + + diff --git a/test-output/junitreports/TEST-tests.LoginTests.xml b/test-output/junitreports/TEST-tests.LoginTests.xml new file mode 100644 index 0000000..d1be32f --- /dev/null +++ b/test-output/junitreports/TEST-tests.LoginTests.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/test-output/junitreports/TEST-tests.LoginTests_new.xml b/test-output/junitreports/TEST-tests.LoginTests_new.xml new file mode 100644 index 0000000..536cf6a --- /dev/null +++ b/test-output/junitreports/TEST-tests.LoginTests_new.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/test-output/navigator-bullet.png b/test-output/navigator-bullet.png new file mode 100644 index 0000000..36d90d3 Binary files /dev/null and b/test-output/navigator-bullet.png differ diff --git a/test-output/old/Master Suite/All tests.properties b/test-output/old/Master Suite/All tests.properties new file mode 100644 index 0000000..7d20548 --- /dev/null +++ b/test-output/old/Master Suite/All tests.properties @@ -0,0 +1 @@ +[SuiteResult context=All tests] \ No newline at end of file diff --git a/test-output/old/Master Suite/classes.html b/test-output/old/Master Suite/classes.html new file mode 100644 index 0000000..3c426a2 --- /dev/null +++ b/test-output/old/Master Suite/classes.html @@ -0,0 +1,154 @@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class nameMethod nameGroups
tests.LoginTests  
@Test
 loginTest_incorrectCredentials_notLoggedToApp 
 test_Sum 
 loginTest_correctCredentials_loggedToApp 
 test_StringSum 
 test_Fails 
@BeforeClass
@BeforeMethod
 startUp 
@AfterMethod
 tearDown 
@AfterClass
tests.HomepageTests_new  
@Test
 new_scrollDown 
 new_loginTest_createNewPlaylist_newPlaylistCreated 
@BeforeClass
@BeforeMethod
 startUp 
@AfterMethod
 tearDown 
@AfterClass
tests.HomepageTests  
@Test
 loginTest_createNewPlaylist_newPlaylistCreated 
 scrollDown 
@BeforeClass
@BeforeMethod
 startUp 
@AfterMethod
 tearDown 
@AfterClass
tests.LoginTests_new  
@Test
 new_loginTest_incorrectCredentials_notLoggedToApp 
 new_loginTest_correctCredentials_loggedToApp 
@BeforeClass
@BeforeMethod
 startUp 
@AfterMethod
 tearDown 
@AfterClass
diff --git a/test-output/old/Master Suite/groups.html b/test-output/old/Master Suite/groups.html new file mode 100644 index 0000000..199cb3f --- /dev/null +++ b/test-output/old/Master Suite/groups.html @@ -0,0 +1 @@ +

Groups used for this test run

\ No newline at end of file diff --git a/test-output/old/Master Suite/index.html b/test-output/old/Master Suite/index.html new file mode 100644 index 0000000..2f417e4 --- /dev/null +++ b/test-output/old/Master Suite/index.html @@ -0,0 +1,6 @@ +Results for Master Suite + + + + + diff --git a/test-output/old/Master Suite/main.html b/test-output/old/Master Suite/main.html new file mode 100644 index 0000000..36857a4 --- /dev/null +++ b/test-output/old/Master Suite/main.html @@ -0,0 +1,2 @@ +Results for Master Suite +Select a result on the left-hand pane. diff --git a/test-output/old/Master Suite/methods-alphabetical.html b/test-output/old/Master Suite/methods-alphabetical.html new file mode 100644 index 0000000..531288d --- /dev/null +++ b/test-output/old/Master Suite/methods-alphabetical.html @@ -0,0 +1,64 @@ +

Methods run, sorted chronologically

>> means before, << means after


Master Suite

(Hover the method name to see the test class name)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TimeDelta (ms)Suite
configuration
Test
configuration
Class
configuration
Groups
configuration
Method
configuration
Test
method
ThreadInstances
20/05/03 21:07:31 0      loginTest_correctCredentials_loggedToApppool-2-thread-3@1941283721
20/05/03 21:07:31 -5      loginTest_createNewPlaylist_newPlaylistCreatedpool-2-thread-1@593437140
20/05/03 21:07:44 12922      loginTest_createNewPlaylist_newPlaylistCreatedpool-2-thread-1@593437140
20/05/03 21:07:52 21178      loginTest_createNewPlaylist_newPlaylistCreatedpool-2-thread-1@593437140
20/05/03 21:07:42 10795      loginTest_incorrectCredentials_notLoggedToApppool-2-thread-3@1941283721
20/05/03 21:07:31 -6      new_loginTest_correctCredentials_loggedToApppool-2-thread-4@1499488704
20/05/03 21:07:31 -6      new_loginTest_createNewPlaylist_newPlaylistCreatedpool-2-thread-2@273968028
20/05/03 21:07:41 9768      new_loginTest_incorrectCredentials_notLoggedToApppool-2-thread-4@1499488704
20/05/03 21:07:44 12877      new_scrollDownpool-2-thread-2@273968028
20/05/03 21:08:00 29218      scrollDownpool-2-thread-1@593437140
20/05/03 21:07:27 -4098     >>startUp  pool-2-thread-4@1499488704
20/05/03 21:07:27 -4098     >>startUp  pool-2-thread-3@1941283721
20/05/03 21:07:27 -4098     >>startUp  pool-2-thread-1@593437140
20/05/03 21:07:27 -4098     >>startUp  pool-2-thread-2@273968028
20/05/03 21:07:38 6711     >>startUp  pool-2-thread-4@1499488704
20/05/03 21:07:39 7730     >>startUp  pool-2-thread-3@1941283721
20/05/03 21:07:41 9798     >>startUp  pool-2-thread-1@593437140
20/05/03 21:07:41 9805     >>startUp  pool-2-thread-2@273968028
20/05/03 21:07:49 18146     >>startUp  pool-2-thread-1@593437140
20/05/03 21:07:57 26173     >>startUp  pool-2-thread-1@593437140
20/05/03 21:07:37 6157     <<tearDown  pool-2-thread-4@1499488704
20/05/03 21:07:38 7168     <<tearDown  pool-2-thread-3@1941283721
20/05/03 21:07:40 8784     <<tearDown  pool-2-thread-2@273968028
20/05/03 21:07:40 9223     <<tearDown  pool-2-thread-1@593437140
20/05/03 21:07:43 11844     <<tearDown  pool-2-thread-4@1499488704
20/05/03 21:07:44 13350     <<tearDown  pool-2-thread-3@1941283721
20/05/03 21:07:48 17588     <<tearDown  pool-2-thread-1@593437140
20/05/03 21:07:49 18528     <<tearDown  pool-2-thread-2@273968028
20/05/03 21:07:56 25188     <<tearDown  pool-2-thread-1@593437140
20/05/03 21:08:04 32959     <<tearDown  pool-2-thread-1@593437140
diff --git a/test-output/old/Master Suite/methods-not-run.html b/test-output/old/Master Suite/methods-not-run.html new file mode 100644 index 0000000..9f49e63 --- /dev/null +++ b/test-output/old/Master Suite/methods-not-run.html @@ -0,0 +1,5 @@ +

Methods that were not run

+ + + +
tests.LoginTests.test_Sum
tests.LoginTests.test_StringSum
tests.LoginTests.test_Fails
\ No newline at end of file diff --git a/test-output/old/Master Suite/methods.html b/test-output/old/Master Suite/methods.html new file mode 100644 index 0000000..7110487 --- /dev/null +++ b/test-output/old/Master Suite/methods.html @@ -0,0 +1,64 @@ +

Methods run, sorted chronologically

>> means before, << means after


Master Suite

(Hover the method name to see the test class name)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TimeDelta (ms)Suite
configuration
Test
configuration
Class
configuration
Groups
configuration
Method
configuration
Test
method
ThreadInstances
20/05/03 21:07:27 0     >>startUp  pool-2-thread-4@1499488704
20/05/03 21:07:27 0     >>startUp  pool-2-thread-3@1941283721
20/05/03 21:07:27 0     >>startUp  pool-2-thread-1@593437140
20/05/03 21:07:27 0     >>startUp  pool-2-thread-2@273968028
20/05/03 21:07:31 4098      loginTest_correctCredentials_loggedToApppool-2-thread-3@1941283721
20/05/03 21:07:31 4092      new_loginTest_correctCredentials_loggedToApppool-2-thread-4@1499488704
20/05/03 21:07:31 4093      loginTest_createNewPlaylist_newPlaylistCreatedpool-2-thread-1@593437140
20/05/03 21:07:31 4092      new_loginTest_createNewPlaylist_newPlaylistCreatedpool-2-thread-2@273968028
20/05/03 21:07:37 10255     <<tearDown  pool-2-thread-4@1499488704
20/05/03 21:07:38 10809     >>startUp  pool-2-thread-4@1499488704
20/05/03 21:07:38 11266     <<tearDown  pool-2-thread-3@1941283721
20/05/03 21:07:39 11828     >>startUp  pool-2-thread-3@1941283721
20/05/03 21:07:40 12882     <<tearDown  pool-2-thread-2@273968028
20/05/03 21:07:40 13321     <<tearDown  pool-2-thread-1@593437140
20/05/03 21:07:41 13866      new_loginTest_incorrectCredentials_notLoggedToApppool-2-thread-4@1499488704
20/05/03 21:07:41 13896     >>startUp  pool-2-thread-1@593437140
20/05/03 21:07:41 13903     >>startUp  pool-2-thread-2@273968028
20/05/03 21:07:42 14893      loginTest_incorrectCredentials_notLoggedToApppool-2-thread-3@1941283721
20/05/03 21:07:43 15942     <<tearDown  pool-2-thread-4@1499488704
20/05/03 21:07:44 16975      new_scrollDownpool-2-thread-2@273968028
20/05/03 21:07:44 17020      loginTest_createNewPlaylist_newPlaylistCreatedpool-2-thread-1@593437140
20/05/03 21:07:44 17448     <<tearDown  pool-2-thread-3@1941283721
20/05/03 21:07:48 21686     <<tearDown  pool-2-thread-1@593437140
20/05/03 21:07:49 22244     >>startUp  pool-2-thread-1@593437140
20/05/03 21:07:49 22626     <<tearDown  pool-2-thread-2@273968028
20/05/03 21:07:52 25276      loginTest_createNewPlaylist_newPlaylistCreatedpool-2-thread-1@593437140
20/05/03 21:07:56 29286     <<tearDown  pool-2-thread-1@593437140
20/05/03 21:07:57 30271     >>startUp  pool-2-thread-1@593437140
20/05/03 21:08:00 33316      scrollDownpool-2-thread-1@593437140
20/05/03 21:08:04 37057     <<tearDown  pool-2-thread-1@593437140
diff --git a/test-output/old/Master Suite/reporter-output.html b/test-output/old/Master Suite/reporter-output.html new file mode 100644 index 0000000..063bc2e --- /dev/null +++ b/test-output/old/Master Suite/reporter-output.html @@ -0,0 +1 @@ +

Reporter output

\ No newline at end of file diff --git a/test-output/old/Master Suite/testng.xml.html b/test-output/old/Master Suite/testng.xml.html new file mode 100644 index 0000000..7c6b27d --- /dev/null +++ b/test-output/old/Master Suite/testng.xml.html @@ -0,0 +1 @@ +testng.xml for Master Suite<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite thread-count="4" parallel="classes" name="Master Suite" guice-stage="DEVELOPMENT">
  <parameter name="wrong-password" value="*******"/>
  <parameter name="password" value="te$t$tudent02"/>
  <parameter name="playlist" value="zzZZzzZZ"/>
  <parameter name="email" value="testpro.user02@testpro.io"/>
  <parameter name="new-playlist" value="newZZZZZZZZZ"/>
  <listeners>
    <listener class-name="listeners.Listeners"/>
  </listeners>
  <test name="All tests">
    <classes>
      <class name="tests.HomepageTests">
        <methods>
          <include name="loginTest_createNewPlaylist_newPlaylistCreated"/>
          <include name="scrollDown"/>
        </methods>
      </class> <!-- tests.HomepageTests -->
      <class name="tests.HomepageTests_new">
        <methods>
          <include name="new_loginTest_createNewPlaylist_newPlaylistCreated"/>
          <include name="new_scrollDown"/>
        </methods>
      </class> <!-- tests.HomepageTests_new -->
      <class name="tests.LoginTests">
        <methods>
          <include name="loginTest_correctCredentials_loggedToApp"/>
          <include name="loginTest_incorrectCredentials_notLoggedToApp"/>
          <include name="test_Fails"/>
        </methods>
      </class> <!-- tests.LoginTests -->
      <class name="tests.LoginTests_new">
        <methods>
          <include name="new_loginTest_correctCredentials_loggedToApp"/>
          <include name="new_loginTest_incorrectCredentials_notLoggedToApp"/>
        </methods>
      </class> <!-- tests.LoginTests_new -->
    </classes>
  </test> <!-- All tests -->
</suite> <!-- Master Suite -->
\ No newline at end of file diff --git a/test-output/old/Master Suite/toc.html b/test-output/old/Master Suite/toc.html new file mode 100644 index 0000000..f57eb91 --- /dev/null +++ b/test-output/old/Master Suite/toc.html @@ -0,0 +1,30 @@ + + +Results for Master Suite + + + + +

Results for
Master Suite

+ + + + + + + + + + +
1 test4 classes8 methods:
+  chronological
+  alphabetical
+  not run (3)
0 groupreporter outputtestng.xml
+ +

+

+
All tests (4/4/2) + Results +
+
+ \ No newline at end of file diff --git a/test-output/old/index.html b/test-output/old/index.html new file mode 100644 index 0000000..8156b87 --- /dev/null +++ b/test-output/old/index.html @@ -0,0 +1,9 @@ + +Test results + + +

Test results

+ + + +
SuitePassedFailedSkippedtestng.xml
Total442 
Master Suite442Link
diff --git a/test-output/passed.png b/test-output/passed.png new file mode 100644 index 0000000..45e85bb Binary files /dev/null and b/test-output/passed.png differ diff --git a/test-output/skipped.png b/test-output/skipped.png new file mode 100644 index 0000000..c36a324 Binary files /dev/null and b/test-output/skipped.png differ diff --git a/test-output/testng-failed.xml b/test-output/testng-failed.xml new file mode 100644 index 0000000..5d05339 --- /dev/null +++ b/test-output/testng-failed.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test-output/testng-reports.css b/test-output/testng-reports.css new file mode 100644 index 0000000..29588e5 --- /dev/null +++ b/test-output/testng-reports.css @@ -0,0 +1,309 @@ +body { + margin: 0px 0px 5px 5px; +} + +ul { + margin: 0px; +} + +li { + list-style-type: none; +} + +a { + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +.navigator-selected { + background: #ffa500; +} + +.wrapper { + position: absolute; + top: 60px; + bottom: 0; + left: 400px; + right: 0; + overflow: auto; +} + +.navigator-root { + position: absolute; + top: 60px; + bottom: 0; + left: 0; + width: 400px; + overflow-y: auto; +} + +.suite { + margin: 0px 10px 10px 0px; + background-color: #fff8dc; +} + +.suite-name { + padding-left: 10px; + font-size: 25px; + font-family: Times; +} + +.main-panel-header { + padding: 5px; + background-color: #9FB4D9; //afeeee; + font-family: monospace; + font-size: 18px; +} + +.main-panel-content { + padding: 5px; + margin-bottom: 10px; + background-color: #DEE8FC; //d0ffff; +} + +.rounded-window { + border-radius: 10px; + border-style: solid; + border-width: 1px; +} + +.rounded-window-top { + border-top-right-radius: 10px 10px; + border-top-left-radius: 10px 10px; + border-style: solid; + border-width: 1px; + overflow: auto; +} + +.light-rounded-window-top { + border-top-right-radius: 10px 10px; + border-top-left-radius: 10px 10px; +} + +.rounded-window-bottom { + border-style: solid; + border-width: 0px 1px 1px 1px; + border-bottom-right-radius: 10px 10px; + border-bottom-left-radius: 10px 10px; + overflow: auto; +} + +.method-name { + font-size: 12px; + font-family: monospace; +} + +.method-content { + border-style: solid; + border-width: 0px 0px 1px 0px; + margin-bottom: 10; + padding-bottom: 5px; + width: 80%; +} + +.parameters { + font-size: 14px; + font-family: monospace; +} + +.stack-trace { + white-space: pre; + font-family: monospace; + font-size: 12px; + font-weight: bold; + margin-top: 0px; + margin-left: 20px; +} + +.testng-xml { + font-family: monospace; +} + +.method-list-content { + margin-left: 10px; +} + +.navigator-suite-content { + margin-left: 10px; + font: 12px 'Lucida Grande'; +} + +.suite-section-title { + margin-top: 10px; + width: 80%; + border-style: solid; + border-width: 1px 0px 0px 0px; + font-family: Times; + font-size: 18px; + font-weight: bold; +} + +.suite-section-content { + list-style-image: url(bullet_point.png); +} + +.top-banner-root { + position: absolute; + top: 0; + height: 45px; + left: 0; + right: 0; + padding: 5px; + margin: 0px 0px 5px 0px; + background-color: #0066ff; + font-family: Times; + color: #fff; + text-align: center; +} + +.top-banner-title-font { + font-size: 25px; +} + +.test-name { + font-family: 'Lucida Grande'; + font-size: 16px; +} + +.suite-icon { + padding: 5px; + float: right; + height: 20; +} + +.test-group { + font: 20px 'Lucida Grande'; + margin: 5px 5px 10px 5px; + border-width: 0px 0px 1px 0px; + border-style: solid; + padding: 5px; +} + +.test-group-name { + font-weight: bold; +} + +.method-in-group { + font-size: 16px; + margin-left: 80px; +} + +table.google-visualization-table-table { + width: 100%; +} + +.reporter-method-name { + font-size: 14px; + font-family: monospace; +} + +.reporter-method-output-div { + padding: 5px; + margin: 0px 0px 5px 20px; + font-size: 12px; + font-family: monospace; + border-width: 0px 0px 0px 1px; + border-style: solid; +} + +.ignored-class-div { + font-size: 14px; + font-family: monospace; +} + +.ignored-methods-div { + padding: 5px; + margin: 0px 0px 5px 20px; + font-size: 12px; + font-family: monospace; + border-width: 0px 0px 0px 1px; + border-style: solid; +} + +.border-failed { + border-top-left-radius: 10px 10px; + border-bottom-left-radius: 10px 10px; + border-style: solid; + border-width: 0px 0px 0px 10px; + border-color: #f00; +} + +.border-skipped { + border-top-left-radius: 10px 10px; + border-bottom-left-radius: 10px 10px; + border-style: solid; + border-width: 0px 0px 0px 10px; + border-color: #edc600; +} + +.border-passed { + border-top-left-radius: 10px 10px; + border-bottom-left-radius: 10px 10px; + border-style: solid; + border-width: 0px 0px 0px 10px; + border-color: #19f52d; +} + +.times-div { + text-align: center; + padding: 5px; +} + +.suite-total-time { + font: 16px 'Lucida Grande'; +} + +.configuration-suite { + margin-left: 20px; +} + +.configuration-test { + margin-left: 40px; +} + +.configuration-class { + margin-left: 60px; +} + +.configuration-method { + margin-left: 80px; +} + +.test-method { + margin-left: 100px; +} + +.chronological-class { + background-color: #0ccff; + border-style: solid; + border-width: 0px 0px 1px 1px; +} + +.method-start { + float: right; +} + +.chronological-class-name { + padding: 0px 0px 0px 5px; + color: #008; +} + +.after, .before, .test-method { + font-family: monospace; + font-size: 14px; +} + +.navigator-suite-header { + font-size: 22px; + margin: 0px 10px 5px 0px; + background-color: #deb887; + text-align: center; +} + +.collapse-all-icon { + padding: 5px; + float: right; +} diff --git a/test-output/testng-reports.js b/test-output/testng-reports.js new file mode 100644 index 0000000..5159f81 --- /dev/null +++ b/test-output/testng-reports.js @@ -0,0 +1,122 @@ +$(document).ready(function() { + $('a.navigator-link').click(function() { + // Extract the panel for this link + var panel = getPanelName($(this)); + + // Mark this link as currently selected + $('.navigator-link').parent().removeClass('navigator-selected'); + $(this).parent().addClass('navigator-selected'); + + showPanel(panel); + }); + + installMethodHandlers('failed'); + installMethodHandlers('skipped'); + installMethodHandlers('passed', true); // hide passed methods by default + + $('a.method').click(function() { + showMethod($(this)); + return false; + }); + + // Hide all the panels and display the first one (do this last + // to make sure the click() will invoke the listeners) + $('.panel').hide(); + $('.navigator-link').first().click(); + + // Collapse/expand the suites + $('a.collapse-all-link').click(function() { + var contents = $('.navigator-suite-content'); + if (contents.css('display') == 'none') { + contents.show(); + } else { + contents.hide(); + } + }); +}); + +// The handlers that take care of showing/hiding the methods +function installMethodHandlers(name, hide) { + function getContent(t) { + return $('.method-list-content.' + name + "." + t.attr('panel-name')); + } + + function getHideLink(t, name) { + var s = 'a.hide-methods.' + name + "." + t.attr('panel-name'); + return $(s); + } + + function getShowLink(t, name) { + return $('a.show-methods.' + name + "." + t.attr('panel-name')); + } + + function getMethodPanelClassSel(element, name) { + var panelName = getPanelName(element); + var sel = '.' + panelName + "-class-" + name; + return $(sel); + } + + $('a.hide-methods.' + name).click(function() { + var w = getContent($(this)); + w.hide(); + getHideLink($(this), name).hide(); + getShowLink($(this), name).show(); + getMethodPanelClassSel($(this), name).hide(); + }); + + $('a.show-methods.' + name).click(function() { + var w = getContent($(this)); + w.show(); + getHideLink($(this), name).show(); + getShowLink($(this), name).hide(); + showPanel(getPanelName($(this))); + getMethodPanelClassSel($(this), name).show(); + }); + + if (hide) { + $('a.hide-methods.' + name).click(); + } else { + $('a.show-methods.' + name).click(); + } +} + +function getHashForMethod(element) { + return element.attr('hash-for-method'); +} + +function getPanelName(element) { + return element.attr('panel-name'); +} + +function showPanel(panelName) { + $('.panel').hide(); + var panel = $('.panel[panel-name="' + panelName + '"]'); + panel.show(); +} + +function showMethod(element) { + var hashTag = getHashForMethod(element); + var panelName = getPanelName(element); + showPanel(panelName); + var current = document.location.href; + var base = current.substring(0, current.indexOf('#')) + document.location.href = base + '#' + hashTag; + var newPosition = $(document).scrollTop() - 65; + $(document).scrollTop(newPosition); +} + +function drawTable() { + for (var i = 0; i < suiteTableInitFunctions.length; i++) { + window[suiteTableInitFunctions[i]](); + } + + for (var k in window.suiteTableData) { + var v = window.suiteTableData[k]; + var div = v.tableDiv; + var data = v.tableData + var table = new google.visualization.Table(document.getElementById(div)); + table.draw(data, { + showRowNumber : false + }); + } +} diff --git a/test-output/testng-results.xml b/test-output/testng-results.xml new file mode 100644 index 0000000..3c5577c --- /dev/null +++ b/test-output/testng-results.xml @@ -0,0 +1,600 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + is not clickable at point (233, 408). Other element would receive the click: + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52866}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 8c444ad715215aa814c7d7c3ad28957a]]> + + + is not clickable at point (233, 408). Other element would receive the click: + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52866}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 8c444ad715215aa814c7d7c3ad28957a + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests_new.new_loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests_new.java:14) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:567) + at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104) + at org.testng.internal.Invoker.invokeMethod(Invoker.java:645) + at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851) + at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177) + at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) + at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +]]> + + + + + + + + + + + + + + + + + + + + + + + + is not clickable at point (233, 408). Other element would receive the click: + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52953}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 084ad53abe263b127e15afd2166c6db3]]> + + + is not clickable at point (233, 408). Other element would receive the click: + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52953}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 084ad53abe263b127e15afd2166c6db3 + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests_new.new_scrollDown(HomepageTests_new.java:22) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:567) + at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104) + at org.testng.internal.Invoker.invokeMethod(Invoker.java:645) + at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851) + at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177) + at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) + at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + is not clickable at point (233, 408). Other element would receive the click: + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52867}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 2970254833708fa6221e0abba0420d96]]> + + + is not clickable at point (233, 408). Other element would receive the click: + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52867}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 2970254833708fa6221e0abba0420d96 + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests.loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests.java:24) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:567) + at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104) + at org.testng.internal.Invoker.invokeMethod(Invoker.java:645) + at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851) + at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177) + at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) + at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + is not clickable at point (233, 408). Other element would receive the click: + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52954}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: ef8ac6c8568587205788a83c05872028]]> + + + is not clickable at point (233, 408). Other element would receive the click: + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52954}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: ef8ac6c8568587205788a83c05872028 + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests.loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests.java:24) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:567) + at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104) + at org.testng.internal.Invoker.invokeMethod(Invoker.java:645) + at org.testng.internal.Invoker.retryFailed(Invoker.java:998) + at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1200) + at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) + at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + is not clickable at point (233, 408). Other element would receive the click: + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52993}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 3063ba811f977efe89b82d7711908860]]> + + + is not clickable at point (233, 408). Other element would receive the click: + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:52993}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 3063ba811f977efe89b82d7711908860 + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests.loginTest_createNewPlaylist_newPlaylistCreated(HomepageTests.java:24) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:567) + at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104) + at org.testng.internal.Invoker.invokeMethod(Invoker.java:645) + at org.testng.internal.Invoker.retryFailed(Invoker.java:998) + at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1200) + at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) + at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + is not clickable at point (233, 408). Other element would receive the click: + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:53015}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 32712f28dbd224c3549f06f90ee6fa1a]]> + + + is not clickable at point (233, 408). Other element would receive the click: + (Session info: headless chrome=81.0.4044.129) +Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' +System info: host: 'DESKTOP-1TJR8E3', ip: '192.168.128.161', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.2' +Driver info: org.openqa.selenium.chrome.ChromeDriver +Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.129, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: C:\Users\shsmi\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:53015}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true} +Session ID: 32712f28dbd224c3549f06f90ee6fa1a + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) + at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) + at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) + at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) + at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) + at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) + at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) + at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84) + at pageObjects.HomePage.createNewPlaylist(HomePage.java:30) + at tests.HomepageTests.scrollDown(HomepageTests.java:35) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:567) + at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104) + at org.testng.internal.Invoker.invokeMethod(Invoker.java:645) + at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851) + at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177) + at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) + at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at java.base/java.lang.Thread.run(Thread.java:830) +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test-output/testng.css b/test-output/testng.css new file mode 100644 index 0000000..5124ba8 --- /dev/null +++ b/test-output/testng.css @@ -0,0 +1,9 @@ +.invocation-failed, .test-failed { background-color: #DD0000; } +.invocation-percent, .test-percent { background-color: #006600; } +.invocation-passed, .test-passed { background-color: #00AA00; } +.invocation-skipped, .test-skipped { background-color: #CCCC00; } + +.main-page { + font-size: x-large; +} + diff --git a/testAPIkoel.xml b/testAPIkoel.xml new file mode 100644 index 0000000..caf8f27 --- /dev/null +++ b/testAPIkoel.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/testngChrome.xml b/testngChrome.xml index b0ffd44..b69d2bb 100644 --- a/testngChrome.xml +++ b/testngChrome.xml @@ -1,6 +1,7 @@ +