Merge pull request #4662 from nextcloud/remove-named-selectors-from-acceptance-tests
Remove named selectors from acceptance tests
This commit is contained in:
commit
dbe11916fa
|
@ -106,7 +106,11 @@ class FilesAppContext implements Context, ActorAwareInterface {
|
||||||
* @return Locator
|
* @return Locator
|
||||||
*/
|
*/
|
||||||
public static function shareLinkCheckbox() {
|
public static function shareLinkCheckbox() {
|
||||||
return Locator::forThe()->content("Share link")->descendantOf(self::currentSectionDetailsView())->
|
// forThe()->checkbox("Share link") can not be used here; that would
|
||||||
|
// return the checkbox itself, but the element that the user interacts
|
||||||
|
// with is the label.
|
||||||
|
return Locator::forThe()->xpath("//label[normalize-space() = 'Share link']")->
|
||||||
|
descendantOf(self::currentSectionDetailsView())->
|
||||||
describedAs("Share link checkbox in the details view in Files app");
|
describedAs("Share link checkbox in the details view in Files app");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -122,7 +126,11 @@ class FilesAppContext implements Context, ActorAwareInterface {
|
||||||
* @return Locator
|
* @return Locator
|
||||||
*/
|
*/
|
||||||
public static function passwordProtectCheckbox() {
|
public static function passwordProtectCheckbox() {
|
||||||
return Locator::forThe()->content("Password protect")->descendantOf(self::currentSectionDetailsView())->
|
// forThe()->checkbox("Password protect") can not be used here; that
|
||||||
|
// would return the checkbox itself, but the element that the user
|
||||||
|
// interacts with is the label.
|
||||||
|
return Locator::forThe()->xpath("//label[normalize-space() = 'Password protect']")->
|
||||||
|
descendantOf(self::currentSectionDetailsView())->
|
||||||
describedAs("Password protect checkbox in the details view in Files app");
|
describedAs("Password protect checkbox in the details view in Files app");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -163,7 +171,7 @@ class FilesAppContext implements Context, ActorAwareInterface {
|
||||||
* @return Locator
|
* @return Locator
|
||||||
*/
|
*/
|
||||||
public static function favoritedStateIconForFile($fileName) {
|
public static function favoritedStateIconForFile($fileName) {
|
||||||
return Locator::forThe()->content("Favorited")->descendantOf(self::favoriteActionForFile($fileName))->
|
return Locator::forThe()->css(".icon-starred")->descendantOf(self::favoriteActionForFile($fileName))->
|
||||||
describedAs("Favorited state icon for file $fileName in Files app");
|
describedAs("Favorited state icon for file $fileName in Files app");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -210,7 +218,8 @@ class FilesAppContext implements Context, ActorAwareInterface {
|
||||||
* @return Locator
|
* @return Locator
|
||||||
*/
|
*/
|
||||||
private static function fileActionsMenuItemFor($itemText) {
|
private static function fileActionsMenuItemFor($itemText) {
|
||||||
return Locator::forThe()->content($itemText)->descendantOf(self::fileActionsMenu())->
|
return Locator::forThe()->xpath("//a[normalize-space() = '$itemText']")->
|
||||||
|
descendantOf(self::fileActionsMenu())->
|
||||||
describedAs($itemText . " item in file actions menu in Files app");
|
describedAs($itemText . " item in file actions menu in Files app");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ class FilesSharingAppContext implements Context, ActorAwareInterface {
|
||||||
* @return Locator
|
* @return Locator
|
||||||
*/
|
*/
|
||||||
public static function wrongPasswordMessage() {
|
public static function wrongPasswordMessage() {
|
||||||
return Locator::forThe()->content("The password is wrong. Try again.")->
|
return Locator::forThe()->xpath("//*[@class = 'warning' and normalize-space() = 'The password is wrong. Try again.']")->
|
||||||
describedAs("Wrong password message in Authenticate page");
|
describedAs("Wrong password message in Authenticate page");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ class LoginPageContext implements Context, ActorAwareInterface {
|
||||||
* @return Locator
|
* @return Locator
|
||||||
*/
|
*/
|
||||||
public static function wrongPasswordMessage() {
|
public static function wrongPasswordMessage() {
|
||||||
return Locator::forThe()->content("Wrong password. Reset it?")->
|
return Locator::forThe()->xpath("//*[@class = 'warning' and normalize-space() = 'Wrong password. Reset it?']")->
|
||||||
describedAs("Wrong password message in Login page");
|
describedAs("Wrong password message in Login page");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,8 @@ class NotificationContext implements Context, ActorAwareInterface {
|
||||||
* @return Locator
|
* @return Locator
|
||||||
*/
|
*/
|
||||||
public static function notificationMessage($message) {
|
public static function notificationMessage($message) {
|
||||||
return Locator::forThe()->content($message)->descendantOf(self::notificationContainer())->
|
return Locator::forThe()->xpath("//*[@class = 'row' and normalize-space() = '$message']")->
|
||||||
|
descendantOf(self::notificationContainer())->
|
||||||
describedAs("$message notification");
|
describedAs("$message notification");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,8 @@ class SettingsMenuContext implements Context, ActorAwareInterface {
|
||||||
* @return Locator
|
* @return Locator
|
||||||
*/
|
*/
|
||||||
private static function menuItemFor($itemText) {
|
private static function menuItemFor($itemText) {
|
||||||
return Locator::forThe()->content($itemText)->descendantOf(self::settingsMenu())->
|
return Locator::forThe()->xpath("//a[normalize-space() = '$itemText']")->
|
||||||
|
descendantOf(self::settingsMenu())->
|
||||||
describedAs($itemText . " item in Settings menu");
|
describedAs($itemText . " item in Settings menu");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -134,7 +134,7 @@ class LocatorBuilder {
|
||||||
* @return LocatorBuilderSecondStep
|
* @return LocatorBuilderSecondStep
|
||||||
*/
|
*/
|
||||||
public function id($value) {
|
public function id($value) {
|
||||||
return $this->customSelector("named", array("id", $value));
|
return $this->customSelector("named_exact", array("id", $value));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -142,7 +142,7 @@ class LocatorBuilder {
|
||||||
* @return LocatorBuilderSecondStep
|
* @return LocatorBuilderSecondStep
|
||||||
*/
|
*/
|
||||||
public function idOrName($value) {
|
public function idOrName($value) {
|
||||||
return $this->customSelector("named", array("id_or_name", $value));
|
return $this->customSelector("named_exact", array("id_or_name", $value));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -150,7 +150,7 @@ class LocatorBuilder {
|
||||||
* @return LocatorBuilderSecondStep
|
* @return LocatorBuilderSecondStep
|
||||||
*/
|
*/
|
||||||
public function link($value) {
|
public function link($value) {
|
||||||
return $this->customSelector("named", array("link", $value));
|
return $this->customSelector("named_exact", array("link", $value));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -158,7 +158,7 @@ class LocatorBuilder {
|
||||||
* @return LocatorBuilderSecondStep
|
* @return LocatorBuilderSecondStep
|
||||||
*/
|
*/
|
||||||
public function button($value) {
|
public function button($value) {
|
||||||
return $this->customSelector("named", array("button", $value));
|
return $this->customSelector("named_exact", array("button", $value));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -166,15 +166,7 @@ class LocatorBuilder {
|
||||||
* @return LocatorBuilderSecondStep
|
* @return LocatorBuilderSecondStep
|
||||||
*/
|
*/
|
||||||
public function linkOrButton($value) {
|
public function linkOrButton($value) {
|
||||||
return $this->customSelector("named", array("link_or_button", $value));
|
return $this->customSelector("named_exact", array("link_or_button", $value));
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string $value
|
|
||||||
* @return LocatorBuilderSecondStep
|
|
||||||
*/
|
|
||||||
public function content($value) {
|
|
||||||
return $this->customSelector("named", array("content", $value));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -182,7 +174,7 @@ class LocatorBuilder {
|
||||||
* @return LocatorBuilderSecondStep
|
* @return LocatorBuilderSecondStep
|
||||||
*/
|
*/
|
||||||
public function field($value) {
|
public function field($value) {
|
||||||
return $this->customSelector("named", array("field", $value));
|
return $this->customSelector("named_exact", array("field", $value));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -190,7 +182,7 @@ class LocatorBuilder {
|
||||||
* @return LocatorBuilderSecondStep
|
* @return LocatorBuilderSecondStep
|
||||||
*/
|
*/
|
||||||
public function selectField($value) {
|
public function selectField($value) {
|
||||||
return $this->customSelector("named", array("select", $value));
|
return $this->customSelector("named_exact", array("select", $value));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -198,7 +190,7 @@ class LocatorBuilder {
|
||||||
* @return LocatorBuilderSecondStep
|
* @return LocatorBuilderSecondStep
|
||||||
*/
|
*/
|
||||||
public function checkbox($value) {
|
public function checkbox($value) {
|
||||||
return $this->customSelector("named", array("checkbox", $value));
|
return $this->customSelector("named_exact", array("checkbox", $value));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -206,7 +198,7 @@ class LocatorBuilder {
|
||||||
* @return LocatorBuilderSecondStep
|
* @return LocatorBuilderSecondStep
|
||||||
*/
|
*/
|
||||||
public function radioButton($value) {
|
public function radioButton($value) {
|
||||||
return $this->customSelector("named", array("radio", $value));
|
return $this->customSelector("named_exact", array("radio", $value));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -214,7 +206,7 @@ class LocatorBuilder {
|
||||||
* @return LocatorBuilderSecondStep
|
* @return LocatorBuilderSecondStep
|
||||||
*/
|
*/
|
||||||
public function fileInput($value) {
|
public function fileInput($value) {
|
||||||
return $this->customSelector("named", array("file", $value));
|
return $this->customSelector("named_exact", array("file", $value));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -222,7 +214,7 @@ class LocatorBuilder {
|
||||||
* @return LocatorBuilderSecondStep
|
* @return LocatorBuilderSecondStep
|
||||||
*/
|
*/
|
||||||
public function optionGroup($value) {
|
public function optionGroup($value) {
|
||||||
return $this->customSelector("named", array("optgroup", $value));
|
return $this->customSelector("named_exact", array("optgroup", $value));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -230,7 +222,7 @@ class LocatorBuilder {
|
||||||
* @return LocatorBuilderSecondStep
|
* @return LocatorBuilderSecondStep
|
||||||
*/
|
*/
|
||||||
public function option($value) {
|
public function option($value) {
|
||||||
return $this->customSelector("named", array("option", $value));
|
return $this->customSelector("named_exact", array("option", $value));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -238,7 +230,7 @@ class LocatorBuilder {
|
||||||
* @return LocatorBuilderSecondStep
|
* @return LocatorBuilderSecondStep
|
||||||
*/
|
*/
|
||||||
public function fieldSet($value) {
|
public function fieldSet($value) {
|
||||||
return $this->customSelector("named", array("fieldset", $value));
|
return $this->customSelector("named_exact", array("fieldset", $value));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -246,7 +238,7 @@ class LocatorBuilder {
|
||||||
* @return LocatorBuilderSecondStep
|
* @return LocatorBuilderSecondStep
|
||||||
*/
|
*/
|
||||||
public function table($value) {
|
public function table($value) {
|
||||||
return $this->customSelector("named", array("table", $value));
|
return $this->customSelector("named_exact", array("table", $value));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue