Tuy nhiên các hệ thống web lại được phát triển và vận hành bởi các đơn vị khác nhau, điều này đặt ra thách thức lớn trong việc đồng bộ và tích hợp dữ liệu giữa các các phần mềm một cách hiệu quả. Bên cạnh đó, việc kết nối thông qua API hay Database cũng là một vấn đề khó khăn đối với nhân sự tại CPMB (không phải là các chuyên gia về lập trình) , và cũng việc này cũng đòi hỏi các quy trình kết nối phức tạp để đảm bảo ATTT.
Để giải quyết vấn đề trên, chúng ta cần tìm hiểu một số công cụ hỗ trợ tự động hóa các công việc nhập liệu, đồng bộ trên các phần mềm phổ biến hiện nay. Trong đó, yêu cầu đặt ra là phải phù hợp với chuyên môn của nhân sự phụ trách CNTT tại CPMB như: ngôn ngữ lập trình dễ học, hệ thống dễ cài đặt triển khai, không đòi hỏi các kết nối đặc thù đến các hệ thống (API, Database), chi phí thấp… Và Python cùng với Selenium được đánh giá là giải pháp phù hợp. Python là một ngôn ngữ lập trình cơ bản, đa năng với thư viện phong phú, cung cấp khả năng tương tác mạnh mẽ với các hệ thống web thông qua Selenium. Selenium cho phép tương tác tự động với các thành phần trên trang web, từ đó có thể trích xuất, cập nhật, và đồng bộ hóa dữ liệu mà không cần API mở, bằng cách giả lập các hành động của người dùng như click chuột và nhập liệu.
Mục tiêu của việc nghiên cứu sẽ tập trung vào xử lý việc đồng bộ thông tin giữa các hệ thống web đang sử dụng tại CPMB. Qua đó, chúng ta sẽ nghiên cứu ngôn ngữ Python và công cụ Selenium nhằm mục đích mô phỏng các thao tác click chuột, nhập liệu trên các phần mềm. Đồng thời với đó, chuẩn hóa các quy trình nhập liệu trên các phần mềm để ứng dụng công nghệ hỗ trợ tự động hóa, đồng bộ hóa lịch tuần giữa web của CPMB và lịch tuần trên DO, đồng thời thông báo tới người dùng qua email.
Vậy để làm được điều đó, cần giải pháp như sau: (i) Tìm hiểu ngôn ngữ lập trình Python (ii) Tìm hiểu Selenium – công cụ hỗ trợ tự động hóa trên trình duyệt Web (iii) Chuẩn hóa quy trình đồng bộ, quản lí lịch tuần trên web CPMB và DO (iv) Cài đặt, triển khai và hiệu chỉnh
Ngôn ngữ lập trình Python được sử dụng rộng rãi trong các ứng dụng web, phát triển phần mềm, khoa học dữ liệu và máy học (ML). Các nhà phát triển sử dụng Python vì nó hiệu quả, dễ học và có thể chạy trên nhiều nền tảng khác nhau. Môi trường Python được tải xuống miễn phí, tích hợp tốt với tất cả các hệ điều hành, dễ phát triển. Thực hiện tìm hiểu theo các giáo trình phổ biến trên các nền tảng học tập trực tuyến như youtube, CodeAcademy, Udemy…
Những lợi ích của Python bao gồm: Các nhà phát triển có thể dễ dàng đọc và hiểu một chương trình Python vì ngôn ngữ này có cú pháp cơ bản giống tiếng Anh; Python giúp cải thiện năng suất làm việc của lập trình viên vì so với những ngôn ngữ khác, họ có thể sử dụng ít dòng mã hơn để viết một chương trình Python; Python có một thư viện tiêu chuẩn lớn, chứa nhiều dòng mã có thể tái sử dụng cho hầu hết mọi tác vụ. Nhờ đó, các nhà phát triển sẽ không cần phải viết mã từ đầu; Python có cộng đồng hỗ trợ rộng lớn các thư viện, đáp ứng được yêu cầu sử dụng, có nhiều tài liệu đào tạo được public trên các kênh thông tin nh: youtube…Python có thể được sử dụng trên nhiều hệ điều hành máy tính khác nhau, chẳng hạn như Windows, macOS, Linux và Unix. Đây là ngôn ngôn ngữ phù hợp với Nhân sự CNTT tại CPMB có kiến thức cơ bản về lập trình dễ dàng học và sử dụng được ngôn ngữ lập trình Python
Selenium là một công cụ tự động hóa trình duyệt web mạnh mẽ và linh hoạt được sử dụng rộng rãi trong lĩnh vực kiểm thử phần mềm để thực hiện các kiểm thử chức năng và tự động hóa của các ứng dụng web. Selenium cho phép viết script để tự động thực hiện các hành động trong trình duyệt web, như click chuột, nhập dữ liệu vào form, và di chuyển qua lại giữa các trang web. Bằng cách sử dụng Selenium, các lập trình viên có thể tạo ra các bài kiểm thử tự động để kiểm tra giao diện người dùng của các ứng dụng web trên nhiều trình duyệt và nền tảng khác nhau mà không cần tương tác thủ công.
Các thành phần chính của Selenium là: (i) Selenium WebDriver: Là phần cốt lõi của Selenium, cho phép giao tiếp trực tiếp với trình duyệt và thực hiện các hành động phức tạp. WebDriver tương tác với các trình duyệt thông qua các driver riêng biệt cho mỗi trình duyệt (như ChromeDriver cho Google Chrome, GeckoDriver cho Firefox, v.v.). (ii) Selenium IDE (Integrated Development Environment): Là một tiện ích mở rộng của trình duyệt cho phép ghi lại, chỉnh sửa và gỡ lỗi các bài kiểm thử. Selenium IDE hỗ trợ việc tạo nhanh các kịch bản kiểm thử đơn giản mà không cần viết mã lập trình phức tạp. (ii) Selenium Grid: Cho phép thực hiện các bài kiểm thử song song trên nhiều máy và trình duyệt cùng lúc để tối ưu hóa quá trình kiểm thử và rút ngắn thời gian thực thi. Selenium Grid rất hữu ích trong môi trường phát triển phần mềm lớn và cần kiểm thử trên nhiều môi trường khác nhau.
Phân tích chuẩn hóa công việc đồng bộ lịch tuần - Quy trình ban đầu

Diễn giải: Bước 1: Cán bộ phụ trách lịch tuần của CPMB/ Lãnh đạo phòng cập nhật thông tin trên web của CPMB; Bước 2: Người có thẩm quyền thực hiện phê duyệt; Bước 3: Hệ thống hiển thị thông tin trên web CPMB và người dùng theo dõi lịch tuần trên web CPMB; Bước 4: Với lịch nội bộ của CPMB được phê duyệt sẽ được cán bộ phụ trách tiếp tục cập nhật trên hệ thống DO chung của NPT; Bước 5: Cán bộ phụ trách lịch tuần sẽ theo dõi các lịch của NPT có liên quan đến CPMB và thực hiện đăng ký trên phần mềm DO; Bước 6: Người dùng theo dõi lịch tuần trên các ứng dụng
Chuyển sang Quy trình tự động hóa:

Diễn giải: Bước 1: Cán bộ phụ trách lịch tuần của CPMB cập nhật thông tin trên web của CPMB; Bước 2: Người có thẩm quyền thực hiện phê duyệt; Bước 3: Hệ thống tự động đồng bộ lịch tuần nội bộ từ web CPMB lên DO; Bước 4: Người dùng khai báo định nghĩa các thông tin trên lịch tuần của NPT trên DO liên quan đến CPMB; Bước 5: Hệ thống căn cứ các role do người dùng định nghĩa, đăng ký lịch của NPT về CPMB; Bước 6: Hệ thống gửi email đến cho người dùng cần theo dõi lịch tuần; Bước 7: Người dùng có thể theo dõi lịch tuần trên DO hoặc web của CPMB
Các bước thực hiện của tự động hóa - Đối với từng bước trong quy trình được tự động hóa. Xác định các thao tác của người dùng trong từng bước
Thao tác 1: Truy cập website và đăng nhập lịch CPMB -> Thao tác 2: Truy cập chức năng lịch tuần -> Thao tác 3: Thực hiện Bóc tách dữ liệu trên lịch tuần -> Thao tác 4: Đăng nhập web DO của NPT -> Thao tác 5: Cập nhật dữ liệu lên form lịch tuần của NPT -> Cấu hình khai báo, định nghĩa các thông tin liên quan -> Email gửi đến người dùng.
Hệ thống phần mềm chỉ cần chạy trên máy tính cá nhân, đảm bảo chế độ chạy liên tục, có kết nối web đến các hệ thống web CPMB và DO của NPT với cấu hình khuyên cáo theo yêu cầu: Core i3, ram 8GB, ổ cứng 512GB. Giải pháp đã được triển khai và thử nghiệm tại Phòng Tổng hợp của CPMB từ tháng 4 năm 2024. Phục vụ công tác theo dõi lịch tuần nhiều và liên tục trong thời gian thực hiện chiến dịch của dự án Mạch 3. Mỗi tuần nhận gần 50 lịch tuần, việc cập nhập thủ công bằng tay là mất nhiều thời gian. Sản phẩm của việc nghiên cứu: (i) Lịch tuần từ Web CPMB được đồng bộ/cập nhập qua DO CPMB vào đầu tuần cho toàn bộ lịch có liên quan đến CPMB và được đồng bộ lại 1 lần nữa trước mỗi ngày. (ii) Lịch tuần từ DO TCT được đồng bộ/cập nhập qua DO CPMB vào đầu tuần cho toàn bộ lịch có liên quan đến CPMB và được đồng bộ lại 1 lần nữa trước mỗi ngày (iii) Email thông báo cho Lãnh đạo Ban/ TPP và bộ phận phục vụ/chuẩn bị HNTH vào 6h30 hằng ngày. Đảm bảo lịch tuần trên NPT của CPMB được đồng bộ về thường xuyên và liên tục.
Việc nghiên cứu này đã mang lại hiệu quả bước đầu cho việc hỗ trợ cho công tác quản lý lịch tuần tại CPMB chạy ổn định, giảm thiểu thời gian cho CBNV. Tiến tới có thể sử dụng rộng rãi trong các bài toán nghiệp vụ khác với công tác nhập liệu trên phần mềm, các báo cáo tự động trên nhiều nền tảng web khác nhau. Quan trọng là đẩy mạnh việc nghiên cứu áp dụng CNTT trong công tác quản lý điều hành tại đơn vị trong kế hoạch chuyển đổi số của EVN/EVNNPT và của CPMB.