Skip to content

Commit 7177926

Browse files
committed
Add Lowes US site
1 parent 2c04c9b commit 7177926

File tree

6 files changed

+62
-22
lines changed

6 files changed

+62
-22
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"url": "http://127.0.0.1:8080/lowes_ad.html",
3+
"field_mapping": {
4+
"given_name":"4b1e90aa-9614-4c10-9a07-e1f5d0d0fa5e",
5+
"family_name":"eda01517-1593-4907-bd89-e760ac1b3301",
6+
"street_address":"24128044-0f39-4679-93f1-788031618aa1",
7+
"address_level_2":"35740687-1404-4d7c-973e-4f4a8d49fd2c",
8+
"postal_code":"68980560-b0a3-4c07-b4a9-5bbf800cfc5d"
9+
10+
},
11+
"form_field": "*[data-moz-autofill-inspect-id='{name}']",
12+
"fields": [
13+
"4b1e90aa-9614-4c10-9a07-e1f5d0d0fa5e",
14+
"eda01517-1593-4907-bd89-e760ac1b3301",
15+
"24128044-0f39-4679-93f1-788031618aa1",
16+
"35740687-1404-4d7c-973e-4f4a8d49fd2c",
17+
"68980560-b0a3-4c07-b4a9-5bbf800cfc5d"
18+
]
19+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"url": "http://127.0.0.1:8080/lowes_cc.html",
3+
"field_mapping": {
4+
"card_number": "311621a3-d8f9-4dd3-bf9d-1eeb08f7f8a5",
5+
"expiration_date": "4ef6a37d-b02f-4fa7-bfc1-0994180238c8",
6+
"cvv": "78daaaff-d49c-4a2e-91a7-9cc214224f72"
7+
},
8+
"form_field": "*[data-moz-autofill-inspect-id='{name}']",
9+
"fields": [
10+
"311621a3-d8f9-4dd3-bf9d-1eeb08f7f8a5",
11+
"4ef6a37d-b02f-4fa7-bfc1-0994180238c8",
12+
"78daaaff-d49c-4a2e-91a7-9cc214224f72"
13+
]
14+
}

l10n_CM/run_l10n.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
valid_flags = {"--run-headless", "-n", "--reruns"}
1414
flag_with_parameter = {"-n", "--reruns"}
1515
valid_region = {"US", "CA", "DE", "FR"}
16-
valid_sites = {"demo", "amazon", "walmart", "mediamarkt"}
16+
valid_sites = {"demo", "amazon", "walmart", "mediamarkt", "lowes"}
1717
live_sites = []
1818

1919
LOCALHOST = "127.0.0.1"

l10n_CM/sites/lowes/US/lowes_ad.html

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

l10n_CM/sites/lowes/US/lowes_cc.html

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

modules/page_object_autofill.py

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -225,28 +225,30 @@ def verify_form_data(self, sample_data: CreditCardBase | AutofillAddressBase):
225225
for attr_name, field_name in self.field_mapping.items():
226226
if non_us_ca_address and field_name == "address-level1":
227227
continue
228-
if field_name != "cc-csc":
229-
expected_value = getattr(sample_data, attr_name, None)
230-
autofilled_field = self.get_element("form-field", labels=[field_name])
231-
if autofilled_field.tag_name.lower() != "select":
232-
autofilled_field_value = autofilled_field.get_attribute("value")
233-
# self.expect_element_attribute_contains(
234-
# "form-field", "value", expected_value, labels=[field_name]
235-
# )
236-
else:
237-
autofilled_field_value = Select(
238-
autofilled_field
239-
).first_selected_option.text
240-
if (
241-
field_name == "address-level1"
242-
and autofilled_field_value != expected_value
243-
):
244-
expected_value = self.util.get_state_province_abbreviation(
245-
expected_value
246-
)
247-
assert expected_value in autofilled_field_value, (
248-
f"{autofilled_field_value} is different from {expected_value}"
228+
# Skip CVV field verification
229+
if attr_name == "cvv":
230+
continue
231+
expected_value = getattr(sample_data, attr_name, None)
232+
autofilled_field = self.get_element("form-field", labels=[field_name])
233+
if autofilled_field.tag_name.lower() != "select":
234+
autofilled_field_value = autofilled_field.get_attribute("value")
235+
# self.expect_element_attribute_contains(
236+
# "form-field", "value", expected_value, labels=[field_name]
237+
# )
238+
else:
239+
autofilled_field_value = Select(
240+
autofilled_field
241+
).first_selected_option.text
242+
if (
243+
field_name == "address-level1"
244+
and autofilled_field_value != expected_value
245+
):
246+
expected_value = self.util.get_state_province_abbreviation(
247+
expected_value
249248
)
249+
assert expected_value in autofilled_field_value, (
250+
f"{autofilled_field_value} is different from {expected_value}"
251+
)
250252

251253
def verify_field_autofill_dropdown(
252254
self,
@@ -271,6 +273,7 @@ def verify_field_autofill_dropdown(
271273
)
272274

273275
if fields_to_test is None:
276+
# Exclude CVV field from testing
274277
fields_to_test = [x for x in self.field_mapping.keys() if x != "cvv"]
275278

276279
# Handle region-specific behavior
@@ -348,6 +351,7 @@ def verify_field_highlight(
348351
if expected_highlighted_fields is None:
349352
# By default, everything in fields_to_test is expected to be highlighted except cvv for cc
350353
expected_highlighted_fields = fields_to_test
354+
# Remove CVV field from expected highlighted fields
351355
if "cvv" in expected_highlighted_fields:
352356
expected_highlighted_fields.remove("cvv")
353357

@@ -580,6 +584,7 @@ def clear_and_verify_all_fields(
580584
region: region being tested
581585
sample_data: verify autofill against sample data if present
582586
"""
587+
# Exclude CVV field from processing
583588
fields = [x for x in self.field_mapping.keys() if x != "cvv"]
584589
for field in fields:
585590
self.clear_and_verify(field, sample_data, region)

0 commit comments

Comments
 (0)