Skip to content

Add data-testid attributes to permission dialog elements for test automation#1241

Merged
lyubov-voloshko merged 4 commits into
mainfrom
copilot/fix-1239
Jul 9, 2025
Merged

Add data-testid attributes to permission dialog elements for test automation#1241
lyubov-voloshko merged 4 commits into
mainfrom
copilot/fix-1239

Conversation

Copilot AI commented Jul 3, 2025

Copy link
Copy Markdown
Contributor

This PR adds data-testid attributes to specific UI elements in the permissions and group management dialogs to improve test automation capabilities.

Changes Made

1. Group Add Dialog

  • Added data-testid="group-title-input" to the group title input field

2. Permissions Add Dialog

  • Added data-testid="full-access-button" to the "Full access" button
  • Added data-testid="table-row-{{tableName}}" to each table row element in the tables list
  • Added data-testid="{{tableName}}-readonly-toggle" to each readonly toggle element

Technical Details

The implementation uses Angular's attribute binding syntax ([attr.data-testid]) to ensure proper attribute assignment with dynamic values based on table names. This approach:

  • Maintains compatibility with Angular's template compilation
  • Provides unique, predictable test IDs for each table-specific element
  • Follows existing patterns in the codebase (similar to attr.data-testid usage in other components)

Testing

  • ✅ Build process completes successfully
  • ✅ All existing tests continue to pass (482/483 tests successful)
  • ✅ No breaking changes to existing functionality

The added data-testid attributes will enable more reliable and maintainable automated tests by providing stable selectors that are independent of the underlying DOM structure or styling classes.

Fixes #1239.

Warning

Firewall rules blocked me from connecting to one or more addresses

I tried to connect to the following addresses, but was blocked by firewall rules:

  • accounts.google.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3764 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-45149819 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,13085714552840635536,7779688464991081079,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-45149819 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox --disable-gpu --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=45149819 (dns block)
  • clients2.google.com
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-45149819 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox --disable-gpu --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=45149819 (dns block)
  • clientservices.googleapis.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3764 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-45149819 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,13085714552840635536,7779688464991081079,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-45149819 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox --disable-gpu --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=45149819 (dns block)
  • googlechromelabs.github.io
    • Triggering command: /usr/local/bin/node install.mjs (dns block)
  • https://storage.googleapis.com/chrome-for-testing-public/131.0.6778.108/linux64/chrome-headless-shell-linux64.zip
    • Triggering command: /usr/local/bin/node install.mjs (http block)
  • js.stripe.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3764 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-45149819 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,13085714552840635536,7779688464991081079,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-45149819 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox --disable-gpu --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=45149819 (dns block)
  • optimizationguide-pa.googleapis.com
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-45149819 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox --disable-gpu --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=45149819 (dns block)
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3764 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-45149819 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,13085714552840635536,7779688464991081079,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
  • redirector.gvt1.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3764 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-45149819 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,13085714552840635536,7779688464991081079,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-45149819 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox --disable-gpu --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=45149819 (dns block)
  • safebrowsingohttpgateway.googleapis.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3764 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-45149819 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,13085714552840635536,7779688464991081079,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-45149819 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox --disable-gpu --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=45149819 (dns block)
  • www.google.com
    • Triggering command: /opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=3764 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-45149819 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,13085714552840635536,7779688464991081079,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome --user-data-dir=/tmp/karma-45149819 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox --disable-gpu --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 --noerrdialogs --ozone-platform=headless --ozone-override-screen-size=800,600 --use-angle=swiftshader-webgl http://localhost:9876/?id=45149819 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

…omation

Co-authored-by: gugu <75169+gugu@users.noreply.github.com>
Copilot AI changed the title [WIP] Add data-testid to elements in permissions Add data-testid attributes to permission dialog elements for test automation Jul 3, 2025
Copilot AI requested a review from gugu July 3, 2025 08:15
Copilot finished work on behalf of gugu July 3, 2025 08:15
@gugu gugu requested a review from lyubov-voloshko July 3, 2025 08:23
@gugu gugu marked this pull request as ready for review July 3, 2025 08:23
@lyubov-voloshko lyubov-voloshko enabled auto-merge July 9, 2025 07:29
@lyubov-voloshko lyubov-voloshko merged commit 4611f19 into main Jul 9, 2025
12 checks passed
@lyubov-voloshko lyubov-voloshko deleted the copilot/fix-1239 branch July 9, 2025 07:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add data-testid to elements in permissions

3 participants