> list page # get /article ok 1 - request parameter module is article ok 2 - request parameter action is index ok 3 - status code is 200 ok 4 - response selector h1 matches Articles List ok 5 - response selector table thead tr th:nth(0) matches Id ok 6 - response selector table thead tr th:nth(1) matches Title ok 7 - response selector table thead tr th:nth(2) matches Body ok 8 - response selector table thead tr th:nth(3) matches Online ok 9 - response selector table thead tr th:nth(4) matches Excerpt ok 10 - response selector table thead tr th:nth(5) matches Category ok 11 - response selector table thead tr th:nth(6) matches Created at ok 12 - response selector table thead tr th:nth(7) matches End date ok 13 - response selector table thead tr th:nth(8) matches Book ok 14 - response selector table tbody tr td:nth(0) matches 1 ok 15 - response selector table tbody tr td:nth(1) matches foo title ok 16 - response selector table tbody tr td:nth(2) matches bar body ok 17 - response selector table tbody tr td:nth(3) matches 1 ok 18 - response selector table tbody tr td:nth(4) matches foo excerpt ok 19 - response selector table tbody tr td:nth(5) matches 1 ok 20 - response selector table tbody tr td:nth(6) matches regex /^\d{4}\-\d{2}\-\d{2} \d{2}\:\d{2}\:\d{2}$/ ok 21 - response selector table tbody tr td:nth(7) matches "" ok 22 - response selector table tbody tr td:nth(8) matches "" ok 23 - response selector a[href*=/article/new] exists ok 24 - response selector tbody a[href*=/article/1] exists ok 25 - response selector tbody a[href*=/article/2] exists > create page # get /article/new.html ok 26 - request parameter module is article ok 27 - request parameter action is new ok 28 - request parameter id is "" ok 29 - status code is 200 ok 30 - response selector h1 matches New Article ok 31 - response selector a[href*=/article] matches Back to list ok 32 - response selector a[href*=/article/] does not exist ok 33 - response selector table tbody td input[id=article_title][name=article[title]][value=] exists ok 34 - response selector table tbody td textarea[id=article_body][name=article[body]] matches "" ok 35 - response selector table tbody td input[id=article_Online][name=article[Online]][type=checkbox] exists ok 36 - response selector table tbody td select[id=article_category_id][name=article[category_id]] option[value=1] matches Category 1 ok 37 - response selector table tbody td select[id=article_category_id][name=article[category_id]] option[value=2] matches Category 2 ok 38 - response selector table tbody td select[id=article_book_id][name=article[book_id]] option[value=][selected=selected] matches "" ok 39 - response selector table tbody td select[id=article_book_id][name=article[book_id]] option[value=1] matches The definitive guide to symfony ok 40 - response selector table tbody td select[id=article_author_article_list][name=article[author_article_list][]] option[value=1] matches Fabien ok 41 - response selector table tbody td select[id=article_author_article_list][name=article[author_article_list][]] option[value=2] matches Thomas ok 42 - response selector table tbody td select[id=article_author_article_list][name=article[author_article_list][]] option[value=3] matches Hélène ok 43 - response selector table tbody td select[id=article_end_date_year][name=article[end_date][year]] option[selected=selected] matches "" ok 44 - response selector table tbody td select[id=article_end_date_month][name=article[end_date][month]] option[selected=selected] matches "" ok 45 - response selector table tbody td select[id=article_end_date_day][name=article[end_date][day]] option[selected=selected] matches "" ok 46 - response selector table tbody td select[id=article_end_date_hour][name=article[end_date][hour]] option[selected=selected] matches "" ok 47 - response selector table tbody td select[id=article_end_date_minute][name=article[end_date][minute]] option[selected=selected] matches "" > save # post /article.html ok 48 - request parameter module is article ok 49 - request parameter action is create ok 50 - page redirected to https://localhost/index.php/article/3/edit.html ok 51 - status code is 200 ok 52 - request parameter module is article ok 53 - request parameter action is edit ok 54 - request parameter id is 3 ok 55 - response selector table tbody td input[id=article_title][name=article[title]][value=my real title] exists ok 56 - response selector table tbody td textarea[id=article_body][name=article[body]] matches my real body ok 57 - response selector table tbody td input[id=article_Online][name=article[Online]][type=checkbox][checked=checked] exists ok 58 - response selector table tbody td select[id=article_category_id][name=article[category_id]] option[value=1] matches Category 1 ok 59 - response selector table tbody td select[id=article_category_id][name=article[category_id]] option[value=2][selected=selected] matches Category 2 ok 60 - response selector table tbody td select[id=article_book_id][name=article[book_id]] option[value=][selected=selected] matches "" ok 61 - response selector table tbody td select[id=article_book_id][name=article[book_id]] option[value=1] matches The definitive guide to symfony ok 62 - response selector table tbody td select[id=article_author_article_list][name=article[author_article_list][]] option[value=1][selected=selected] matches Fabien ok 63 - response selector table tbody td select[id=article_author_article_list][name=article[author_article_list][]] option[value=2][selected=selected] matches Thomas ok 64 - response selector table tbody td select[id=article_author_article_list][name=article[author_article_list][]] option[value=3] matches Hélène ok 65 - response selector table tbody td select[id=article_end_date_year][name=article[end_date][year]] option[selected=selected] matches "" ok 66 - response selector table tbody td select[id=article_end_date_month][name=article[end_date][month]] option[selected=selected] matches "" ok 67 - response selector table tbody td select[id=article_end_date_day][name=article[end_date][day]] option[selected=selected] matches "" ok 68 - response selector table tbody td select[id=article_end_date_hour][name=article[end_date][hour]] option[selected=selected] matches "" ok 69 - response selector table tbody td select[id=article_end_date_minute][name=article[end_date][minute]] option[selected=selected] matches "" > go back to the list # get /article.html ok 70 - request parameter module is article ok 71 - request parameter action is index ok 72 - status code is 200 > edit page # get /article/3/edit ok 73 - request parameter module is article ok 74 - request parameter action is edit ok 75 - request parameter id is 3 ok 76 - status code is 200 ok 77 - response selector h1 matches Edit Article ok 78 - response selector a[href*=/article] matches Back to list ok 79 - response selector a[href*=/article/3] matches Delete ok 80 - response selector a[href*=/article/3][onclick*=confirm] exists ok 81 - response selector table tbody th:nth(0) matches Title ok 82 - response selector table tbody th:nth(1) matches Body ok 83 - response selector table tbody th:nth(2) matches Online ok 84 - response selector table tbody th:nth(3) matches Excerpt ok 85 - response selector table tbody th:nth(4) matches Category ok 86 - response selector table tbody th:nth(5) matches Created at ok 87 - response selector table tbody th:nth(6) matches End date ok 88 - response selector table tbody th:nth(7) matches Book ok 89 - response selector table tbody th:nth(8) matches Author article list ok 90 - response selector table tbody td select[id=article_category_id][name=article[category_id]] option matches 2 times ok 91 - response selector table tbody td select[id=article_book_id][name=article[book_id]] option matches 2 times > save / validation # post /article/3.html ok 92 - request parameter module is article ok 93 - request parameter action is update ok 94 - response selector table tbody td input[id=article_title][name=article[title]][value=] exists ok 95 - response selector table tbody td textarea[id=article_body][name=article[body]] matches my body ok 96 - response selector table tbody td input[id=article_Online][name=article[Online]][type=checkbox][checked=checked] exists ok 97 - response selector table tbody td select[id=article_category_id][name=article[category_id]] option[value=1] matches Category 1 ok 98 - response selector table tbody td select[id=article_category_id][name=article[category_id]] option[value=2] matches Category 2 ok 99 - response selector table tbody td select[id=article_book_id][name=article[book_id]] option[value=] matches "" ok 100 - response selector table tbody td select[id=article_book_id][name=article[book_id]] option[value=1] matches The definitive guide to symfony ok 101 - response selector table tbody td select[id=article_author_article_list][name=article[author_article_list][]] option[value=1] matches Fabien ok 102 - response selector table tbody td select[id=article_author_article_list][name=article[author_article_list][]] option[value=2] matches Thomas ok 103 - response selector table tbody td select[id=article_author_article_list][name=article[author_article_list][]] option[value=3] matches Hélène ok 104 - response selector table tbody td select[id=article_end_date_year][name=article[end_date][year]] option[selected=selected] matches "" ok 105 - response selector table tbody td select[id=article_end_date_month][name=article[end_date][month]] option[selected=selected] matches "" ok 106 - response selector table tbody td select[id=article_end_date_day][name=article[end_date][day]] option[selected=selected] matches 15 ok 107 - response selector table tbody td select[id=article_end_date_hour][name=article[end_date][hour]] option[selected=selected] matches 10 ok 108 - response selector table tbody td select[id=article_end_date_minute][name=article[end_date][minute]] option[selected=selected] matches 20 ok 109 - status code is 200 ok 110 - response selector ul[class=error_list] li:contains(Required.) matches 2 times ok 111 - response selector ul[class=error_list] li:contains(Invalid.) matches 4 times > save # post /article/3.html ok 112 - request parameter module is article ok 113 - request parameter action is update ok 114 - page redirected to https://localhost/index.php/article/3/edit.html ok 115 - status code is 200 ok 116 - request parameter module is article ok 117 - request parameter action is edit ok 118 - request parameter id is 3 ok 119 - response selector table tbody td input[id=article_title][name=article[title]][value=my title] exists ok 120 - response selector table tbody td textarea[id=article_body][name=article[body]] matches my body ok 121 - response selector table tbody td input[id=article_Online][name=article[Online]][type=checkbox] exists ok 122 - response selector table tbody td select[id=article_category_id][name=article[category_id]] option[value=1][selected=selected] matches Category 1 ok 123 - response selector table tbody td select[id=article_category_id][name=article[category_id]] option[value=2] matches Category 2 ok 124 - response selector table tbody td select[id=article_book_id][name=article[book_id]] option[value=] matches "" ok 125 - response selector table tbody td select[id=article_book_id][name=article[book_id]] option[value=1][selected=selected] matches The definitive guide to symfony ok 126 - response selector table tbody td select[id=article_author_article_list][name=article[author_article_list][]] option[value=1][selected=selected] matches Fabien ok 127 - response selector table tbody td select[id=article_author_article_list][name=article[author_article_list][]] option[value=2] matches Thomas ok 128 - response selector table tbody td select[id=article_author_article_list][name=article[author_article_list][]] option[value=3][selected=selected] matches Hélène ok 129 - response selector table tbody td select[id=article_end_date_year][name=article[end_date][year]] option[selected=selected] matches 2025 ok 130 - response selector table tbody td select[id=article_end_date_month][name=article[end_date][month]] option[selected=selected] matches 10 ok 131 - response selector table tbody td select[id=article_end_date_day][name=article[end_date][day]] option[selected=selected] matches 15 ok 132 - response selector table tbody td select[id=article_end_date_hour][name=article[end_date][hour]] option[selected=selected] matches 10 ok 133 - response selector table tbody td select[id=article_end_date_minute][name=article[end_date][minute]] option[selected=selected] matches 20 > go back to the list # get /article.html ok 134 - request parameter module is article ok 135 - request parameter action is index ok 136 - status code is 200 > delete # get /article/3/edit # delete /article/3.html ok 137 - request parameter module is article ok 138 - request parameter action is delete ok 139 - page redirected to https://localhost/index.php/article.html ok 140 - request parameter module is article ok 141 - request parameter action is index ok 142 - status code is 200 # get /article/3/edit ok 143 - status code is 404 > show page # get /article/2 ok 144 - request parameter module is article ok 145 - request parameter action is show ok 146 - request parameter id is 2 ok 147 - status code is 200 ok 148 - response selector a[href*=/article/2] matches Edit ok 149 - response selector a[href*=/article] matches List ok 150 - response selector body table tbody tr:nth(0) matches regex /Id\:\s+2/ ok 151 - response selector body table tbody tr:nth(1) matches regex /Title\:\s+foo foo title/ ok 152 - response selector body table tbody tr:nth(2) matches regex /Body\:\s+bar bar body/ ok 153 - response selector body table tbody tr:nth(3) matches regex /Online\:\s+/ ok 154 - response selector body table tbody tr:nth(4) matches regex /Excerpt\:\s+foo excerpt/ ok 155 - response selector body table tbody tr:nth(5) matches regex /Category\:\s+2/ ok 156 - response selector body table tbody tr:nth(6) matches regex /Created at\:\s+[0-9\-\:\s]+/ ok 157 - response selector body table tbody tr:nth(7) matches regex /End date\:\s+[0-9\-\:\s]+/ ok 158 - response selector body table tbody tr:nth(8) matches regex /Book\:\s+/ 1..158 # Looks like everything went fine.