Xem mẫu

  1. ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN KHẮC HƯNG XÂY DỰNG HỆ THỐNG ĐỒNG BỘ SẢN PHẨM TRÊN CÁC TRANG THƯƠNG MẠI ĐIỆN TỬ BẰNG AUTOIT VÀ SELENIUM Ngành: Công Nghệ Thông Tin Chuyên Ngành: Mạng máy tính và truyền thông dữ liệu Mã Số: 18025066 LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: Ts. Trần Trúc Mai HÀ NỘI - NĂM 2020
  2. ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN KHẮC HƯNG XÂY DỰNG HỆ THỐNG ĐỒNG BỘ SẢN PHẨM TRÊN CÁC TRANG THƯƠNG MẠI ĐIỆN TỬ BẰNG AUTOIT VÀ SELENIUM Ngành: Công Nghệ Thông Tin Chuyên ngành: Mạng máy tính và truyền thông dữ liệu Mã số: 18025066 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. TRẦN TRÚC MAI Hà Nội – 2020
  3. LỜI CẢM ƠN Trước tiên, tôi xin gửi lời cảm ơn sâu sắc nhất đến thầy TS. Trần Trúc Mai, người thầy đã tận tâm, tận lực hướng dẫn, định hướng phương pháp nghiên cứu khoa học cho tôi, đồng thời cung cấp nhiều tài liệu và tạo điều kiện thuận lợi trong suốt quá trình học tập và nghiên cứu để tôi có thể hoàn thành luận văn này. Tôi cũng xin được gửi lời cảm ơn đến các thầy, cô trong bộ môn Mạng máy tính và truyền thông dữ liệu và Khoa Công nghệ thông tin, Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội đã nhiệt tình giảng dạy và truyền đạt những kiến thức, kinh nghiệm quý giá trong suốt thời gian tôi học tập tại trường. Tôi xin gửi lời cảm ơn đến các bạn học viên khóa K25, những người đồng hành trong suốt khóa học và có nhiều góp ý bổ ích cho tôi. Cảm ơn gia đình, bạn bè đã quan tâm và động viên giúp tôi có nghị lực phấn đấu để hoàn thành tốt luận văn này. Do kiến thức và thời gian có hạn nên luận văn chắc chắn không tránh khỏi những thiếu sót nhất định. Tôi xin chân thành cảm ơn! Hà Nội, tháng 09 năm 2020 Học viên thực hiện Nguyễn Khắc Hưng
  4. LỜI CAM ĐOAN Tôi xin cam đoan luận văn “Xây dựng hệ thống đồng bộ sản phẩm trên các trang thương mại điện tử bằng AutoIT và Selenium” được hoàn thành bằng kiến thức tôi đã tiếp thu được trong suốt quá trình rèn luyện, học tập của tôi dưới sự hướng dẫn của TS. Trần Trúc Mai. Trong toàn bộ nội dung nghiên cứu của luận văn, các vấn đề được trình bày đều là những tìm hiểu và nghiên cứu của cá nhân tôi hoặc là trích dẫn các nguồn tài liệu đều được đưa ra ở phần tài liệu tham khảo. Tôi xin cam đoan những lời trên là sự thật và chịu mọi trách nhiệm trước thầy cô và hội đồng bảo vệ luận văn thạc sĩ. Hà Nội, tháng 09 năm 2020 Học viên thực hiện Nguyễn Khắc Hưng
  5. MỤC LỤC LỜI CẢM ƠN ....................................................................................................... ii LỜI CAM ĐOAN................................................................................................. iii MỤC LỤC ............................................................................................................. 1 DANH MỤC BẢNG BIỂU .................................................................................. 3 DANH MỤC HÌNH VẼ, ĐỒ THỊ ........................................................................ 4 DANH MỤC CÁC TỪ VIẾT TẮT ...................................................................... 5 PHẦN MỞ ĐẦU ................................................................................................... 6 CHƯƠNG 1. ĐẶT VẤN ĐỀ ................................................................................ 8 1.1. Thương mại điện tử là gì? ............................................................................. 8 1.2. Thực trạng thương mại điện tử trên thế giới ............................................... 11 1.3. Tình hình thương mại điện tử ở Việt Nam.................................................. 11 CHƯƠNG 2. CÁC NỀN TẢNG HỖ TRỢ THỰC THI TÁC VỤ TỰ ĐỘNG .. 13 2.1. AutoIT .......................................................................................................... 13 Giới thiệu .......................................................................................... 13 Điểm mạnh của AUTOIT ................................................................. 13 Điểm yếu của AUTOIT .................................................................... 14 2.2. Selenium ....................................................................................................... 19 ........................................................................................................ 19 2.2.1. Giới thiệu ............................................................................................ 19 2.2.2. Thành phần của Selenium ................................................................... 19 2.2.3. Chi tiết về Selenium WebDriver......................................................... 21 2.3 Tại sao không sử dụng những công nghệ khác? ........................................... 23 CHƯƠNG 3. XÂY DỰNG HỆ THỐNG, CÀI ĐẶT VÀ ĐÁNH GIÁ ................. 25 3.1. Yêu cầu ......................................................................................................... 25 3.2. Phân tích thiết kế .......................................................................................... 25 3.2.1. Người dùng của hệ thống .................................................................... 25 3.2.2. Kiến trúc của hệ thống ........................................................................ 26 3.2.3. Bộ tạo/sửa các hành động mẫu ........................................................... 27 Nguyễn Khắc Hưng 1Đại Học Công Nghệ
  6. 3.2.3.1 Kiến trúc hệ thống ......................................................................... 27 3.2.3.2 Định nghĩa hành động, bước hành động........................................ 28 3.2.3.3 Biểu đồ Use case ............................................................................ 29 3.2.3.4 Thiết kế cơ sở dữ liệu .................................................................... 30 3.2.3.5 Thiết kế các API ............................................................................ 32 3.2.3.6 Một vài thuật toán. ......................................................................... 33 3.2.4 Bộ thực thi các hành động ................................................................... 38 3.2.4.1. Kiến trúc hệ thống ........................................................................ 38 3.2.4.2 Biểu đồ Use case ............................................................................ 39 3.2.4.3 Thiết kế cơ sở dữ liệu .................................................................... 39 3.2.4.4 Thiết kế các API ............................................................................ 41 3.2.5. Trang web dành cho người dùng ........................................................ 41 3.2.5.1. Kiến trúc hệ thống ........................................................................ 41 3.2.5.2 Biểu đồ Use case ............................................................................ 42 3.2.5.3 Thiết kế cơ sở dữ liệu .................................................................... 45 3.2.5.4 Thiết kế các API ............................................................................ 47 3.2.5.5 Một vài thuật toán .......................................................................... 48 3.3. Kết quả xây dựng ......................................................................................... 50 3.3.1. Các giao diện web dành cho người bán hàng ..................................... 50 3.3.2. Các giao diện phía server .................................................................... 54 3.4. Cài đặt và thử nghiệm .................................................................................. 56 3.4.1. Yêu cầu hệ thống .............................................................................. 56 3.4.2. Quá trình tự động hóa các thao tác................................................... 57 3.5. Kết quả ......................................................................................................... 57 3.6. Định hướng phát triển trong tương lai ......................................................... 58 3.6.1. Xây dựng trang tổng quát cho admin ............................................... 58 3.6.2. Hỗ trợ thêm các hành động .............................................................. 58 3.6.3. Phát triển theo mô hình Server farm ................................................ 58 CHƯƠNG 4. KẾT LUẬN ................................................................................... 60 TÀI LIỆU THAM KHẢO ................................................................................... 61 Nguyễn Khắc Hưng 2Đại Học Công Nghệ
  7. DANH MỤC BẢNG BIỂU Bảng 2-1: Các hàm biến môi trường trong AUTOIT ......................................... 15 Bảng 2-2: Các hàm phát âm thanh ...................................................................... 15 Bảng 2-3: Các hàm xử lý thư mục ...................................................................... 16 Bảng 2-4: Các hàm tiện ích bàn phím ................................................................. 16 Bảng 2-5: Các hàm toán học ............................................................................... 17 Bảng 2-6: Các hàm xử lý chuỗi.......................................................................... 17 Bảng 2-7: Các hàm xử lý hộp thoại .................................................................... 17 Bảng 2-8: Các hàm xử lý tiến trình ..................................................................... 18 Bảng 2-9: Một số hàm khác của AutoIT ............................................................. 18 Bảng 3-1: Danh sách các hành động chủ yếu khi đăng sản phẩm ...................... 29 Bảng 3-2: Danh sách các API module tạo sửa hành động mẫu .......................... 33 Bảng 3-3: Các hàm thủ tục mà hệ thống hỗ trợ gọi AutoIT ............................... 34 Bảng 3-4: Các hàm thủ tục mà hệ thống hỗ trợ gọi Selenium ............................ 35 Bảng 3-5: Danh sách các API module thực thi hành động. ................................ 41 Bảng 3-6: Danh sách các API module web quản trị ........................................... 48 Nguyễn Khắc Hưng 3Đại Học Công Nghệ
  8. DANH MỤC HÌNH VẼ, ĐỒ THỊ Hình 1-1: Khái niệm thương mại điện tử (nguồn internet) ................................... 8 Hình 1-5: Giá trị thị trường TMĐT liên tục tăng trưởng qua các năm ............. 11 Hình 1-8: Doanh thu TMĐT B2C Việt Nam năm 2015 – 2019 (tỷ USD) ........... 12 Hình 1-9: Quy mô thị trường thương mại điện tử B2C Việt Nam năm 2018..... 12 Hình 2-1: Nền tảng hỗ trợ tự động GUI AutoIT ................................................ 13 Hình 2-2: Ví dụ về script của AutoIT ................................................................ 18 Hình 2-3: Các thành phần chính của Selenium .................................................. 19 Hình 2-4: Kiến trúc của Selenium WebDriver................................................... 21 Hình 2-5: Selenium webdriver tương thích với nhiều trình duyệt ..................... 23 Hình 3-1: Kiến trúc hệ thống ............................................................................. 26 Hình 3-2: Kiến trúc hệ thống module tạo sửa hành động mẫu .......................... 27 Hình 3-3: Lược đồ use case của phần tạo sửa hành động .................................. 29 Hình 3-4: Lược đồ quan hệ thực thể của phần tạo sửa hành động..................... 31 Hình 3-5: Import thư viện hỗ trợ AutoIT ........................................................... 35 Hình 3-6: Cài đặt một hàm AutoIT với ngôn ngữ C# ........................................ 36 Hình 3-7: Kiến trúc hệ thống phần tạo sửa hành động mẫu .............................. 38 Hình 3-8: Quy trình tạo hành động tác động lên sàn TMĐT ............................. 39 Hình 3-9: Lược đồ use case của phần thực thi tự động...................................... 39 Hình 3-10: Lược đồ thực thể quan hệ của phần tạo thực thi hành động ............ 40 Hình 3-11: Sơ đồ khối module web dành cho người dùng ................................ 41 Hình 3-12: Biểu đồ Usecase của người dùng cuối............................................. 43 Hình 3-13: Quy trình đăng sản phẩm đồng bộ ................................................... 43 Hình 3-14: Lược đồ quan hệ thực thể của phần web quản lý ............................ 45 Hình 3-15: Giao diện trang thống kê.................................................................. 50 Hình 3-16: Giao diện trang danh sách sản phẩm ............................................... 51 Hình 3-17: Giao diện hộp thoại thêm sản phẩm mới .......................................... 51 Hình 3-18: Giao diện trang quản lý tài khoản.................................................... 52 Hình 3-19: Giao diện trang quản lý danh mục ................................................... 53 Hình 3-20: Giao diện trang giá trị mặc định ...................................................... 54 Hình 3-21: Giao diện ứng dụng các hành động mẫu ......................................... 55 Hình 3-22: Giao diện ứng dụng từng bước của hành động................................ 55 Hình 3-23: Giao diện ứng dụng khi chạy thêm sản phẩm ................................. 56 Hình 3-24: Mô hình Server Farm ....................................................................... 59 Nguyễn Khắc Hưng 4Đại Học Công Nghệ
  9. DANH MỤC CÁC TỪ VIẾT TẮT TMĐT Thương mại điện tử Script Mã kịch bản thự thi B2B Business to Business B2C Business to Customer C2C Customer to Customer G2G Government to Government GUI Graphic User Interface IDE Integrated Development Environment WTO World Trade Organization Nguyễn Khắc Hưng 5Đại Học Công Nghệ
  10. PHẦN MỞ ĐẦU Lý do chọn đề tài Cùng với sự phát triển của thiết bị di động và mạng máy tính. Thương mại điện tử, mua sắm trực tuyến càng ngày càng phát triển mạnh mẽ. Theo báo cáo của statistics thì doanh số bán lẻ trên các sàn thương mại điện tử năm 2019 đạt mức 3.535 tỷ Đô la Mỹ. Thị trường thương mại điện tử Việt Nam cũng nằm trong top các thị trường phát triển nhanh nhất thế giới với tỉ lệ tăng trưởng đạt gần 30% trong năm 2019. Hiện nay có rất nhiều người tham gia bán hàng trên các sàn thương mại điện tử. Trong số đó thì lại có không ít người tham gia vào nhiều hơn một sàn để có thể bán được nhiều hàng hóa hơn, phủ kênh sản phẩm tốt hơn. Việc phải đăng cùng một sản phẩm lên nhiều sàn là việc khá tốn thời gian, công sức lại có thể nhầm lẫn về số lượng hàng tốn, giá bán, hoặc thời điểm bán cho mỗi đơn hàng. Vì vậy nếu xây dựng được một công cụ hỗ trợ đăng sản phẩm lên đồng thời nhiều sàn TMĐT thì sẽ hỗ trợ rất tốt cho người bán hàng. Qua tìm hiểu và phân tích một số giải pháp trước đây, tác giả thấy có những bài nghiên cứu trước sử dụng phương pháp đăng sản phẩm qua kết nối bằng API. Tuy nhiên phương pháp này không triệt để nên qua một thời gian nghiên cứu tác giả đã tìm ra một giải pháp triệt để hơn. Đó là sử dụng các nền tảng hỗ trợ thực thi tác vụ động là AutoIT và Selenium để giả lập hành vi của người dùng. Thay vì một người dùng thao tác trên nhiều sàn, người dùng chỉ cần nhập sản phẩm 1 lần. Hệ thống sẽ sinh ra các mã kịch bản để các AutoBot đăng sản phẩm lên các sàn khác nhau. Mục đích nghiên cứu của luận văn, đối tượng, phạm vi nghiên cứu Mục đích của luận văn: Nghiên cứu đề tài này nhằm mục đích tìm ra phương pháp đồng bộ sản phẩm lên các sàn thương mại điện tử mà giải quyết triệt để được vấn đề mà hướng giải quyết trước đây chưa làm được: Hỗ trợ toàn diện tất cả các sàn. Khi Nguyễn Khắc Hưng 6Đại Học Công Nghệ
  11. các sàn có sự thay đổi thì không cần người có kỹ năng lập trình vẫn có thể cập nhật để hoạt động hoạt động ổn định. Đối tượng và phạm vi áp dụng: Đối tượng áp dụng là việc đăng sản phẩm lên nhiều sàn TMĐT mà không sử dụng API. Phạm vi áp dụng là tất cả các sàn phổ biến ở Việt Nam Để đặt được mục tiêu trên đề tài tập trung tìm hiểu các nội dung sau: - Tìm hiểu về nền tảng AutoIT và Selenium, biết được điểm mạnh, điểm yếu của từng nền tảng để có cách giải quyết phù hợp - Phân tích về luồng khi đăng sản phẩm lên các sàn - Xây dựng các đầy đủ kiến trúc hệ thống, mô hình client server để giải quyết yêu cầu bài toán. Nội dung luận văn Luận văn này gồm 4 chương, cụ thể như sau: Chương 1: ĐẶT VẤN ĐỀ Giới thiệu về thương mại điện tử, về thực trạng thương mại điện tử hiện này trên thế giới và các trang thương mại điện tử phổ biến nhất ở Việt Nam hiện nay. Chương 2: CÁC NỀN TẢNG HỖ TRỢ THỰC THI TÁC VỤ TỰ ĐỘNG Các nền tảng hỗ trợ thực thi tác vụ tự động. Một là AutoIT - Nền tảng hỗ trợ tự động hóa các thao tác GUI và thao tác người dùng. Hai là Selenium WebDriver để tương tác với web. Chương 3: XÂY DỰNG HỆ THỐNG, CÀI ĐẶT VÀ ĐÁNH GIÁ Phân tích yêu cầu, thiết kế luồng, giao diện của hệ thống Cái đặt và đưa ra kết quả thực nghiệm Nguyễn Khắc Hưng 7Đại Học Công Nghệ
  12. CHƯƠNG 1. ĐẶT VẤN ĐỀ 1.1. Thương mại điện tử là gì? Định nghĩa của WTO “Thương mại điện tử bao gồm việc sản xuất, quảng cáo, bán hàng và phân phối sản phẩm được mua bán và thanh toán trên mạng Internet, nhưng được giao nhận một cách hữu hình, cả các sản phẩm giao nhận cũng như những thông tin số hoá thông qua mạng Internet” [1]. Ủy ban châu Âu định nghĩa: Thương mại điện tử có thể định nghĩa chung là sự mua bán, trao đổi hàng hóa hay dịch vụ giữa các doanh nghiệp, gia đình, cá nhân, tổ chức tư nhân bằng các giao dịch điện tử thông qua mạng Internet hay các mạng máy tính trung gian (thông tin liên lạc trực tuyến). Thật ngữ bao gồm việc đặt hàng và dịch thông qua mạng máy tính, nhưng thanh toán và quá trình vận chuyển hàng hay dịch vụ cuối cùng có thể thực hiện trực tuyến hoặc bằng phương pháp thủ công [2]. Hiểu một cách đơn giản thì thương mại điện tử chính là các hoạt động kinh doanh, sản xuất, giao dịch, mua bán, thanh toán, đặt hàng, quảng cáo và kể cả giao hàng sử dụng các phương tiện công nghệ điện tử chủ yếu là qua máy tính và điện thoại có kết nối internet. Hình 1-1: Khái niệm thương mại điện tử (nguồn internet) Nguyễn Khắc Hưng Đại Học Công Nghệ 8
  13. Thế giới ngày này phát triển một cách bùng nổ về mạng và điện toán đám mây, mọi người có thể kết nối với nhau một cách nhanh chóng và dễ dàng hơn thông qua các loại hình dich vụ trực tuyến. Thương mại điện tử có khả năng giúp ích cho nhiều khách hàng sẽ mua được sản phẩm rẻ hơn, thuận lợi hơn, nhanh hơn, hiệu quả hơn còn doanh nghiệp có thể đưa sản phẩm của mình đến với thị trường một cách nhanh nhất, bán hàng thuận lợi hơn. Thương mại điện tử diễn ra trên các phương tiện điện tử như bảng biểu, trang web hay ứng dụng điện thoại. Thương mại điện tử có phụ thuộc vào sự phát triển của công nghệ như công nghệ mạng, công nghệ quản trị cơ sở dữ liệu, công nghệ web, công nghệ di động và càng ngày càng không phụ thuộc trình độ của người sử dụng. Các bên tiến hanh giao dịch không nhất thiết phải gặp gỡ trực tiếp với nhau. Càng ngày thì các trang thương mại điện tử càng có nhiều dữ liệu từ người dùng và thông minh hơn, hiểu người mua cần mua gì hơn. Không cần phải đầu tư với số vốn lớn Với các doanh nghiệp vừa và nhỏ, chỉ cần họ có 1 chiếc smartphone là cũng có thể bán hàng. Đặc biệt với sự phát triển của mạng xã hội và công nghệ truyền hình trực tuyến, ai cũng có thể “Live stream” và bán bất cứ sản phẩm nào mình có. Giảm chi phí mặt bằng kinh doanh, tiếp thị Thương mại điện tử giúp ích rất nhiều trong việc giảm chi phí thuê mặt bằng. Nếu trước đây để bản được hàng người bán cần thuê “mặt tiền” để khách hàng qua lại nhìn thấy và mua sản phẩm thì ngày nay, ngay cả khi bạn ở sâu trong ngõ nhỏ hoặc chung cư thì người mua hàng hoặc đơn vị giao vận có thể đến chuyển hàng giúp. Và người bán hàng không cần phải có văn phòng để để giấy tờ sổ sách vì mọi giao dịch đều được lưu trữ trên máy tính, việc mua bán diễn ra Nguyễn Khắc Hưng Đại Học Công Nghệ 9
  14. nhanh chóng và dễ dàng nên không cần quá nhiều nhân công cho nên giảm được chi phí về nguồn nhân lực. Xây dựng quan hệ lâu dài với khách hàng Thương mại điện tử giúp các bên có thể trao đổi tức thì, liên tục và nhiều lần. Nhiều chủ cửa hàng chọn hình thức quảng cáo qua tin nhắn, tức là khi khách hàng đến mua sản phẩm, chủ shop sẽ đăng kí thông tin cho khách bằng số điện thoại và gửi khuyến mại qua tin nhắn cho khách hàng. 1.1.5.1. Chuyển sang sử dụng thiết bị di động Theo thống kê số lượt truy cập trên hệ thống hơn 33.000 trang web khách hàng của Sapo Web năm 2018, có tới hơn 60% số lượt truy cập vào trang web là từ thiết bị di động, tăng 5% so với năm 2017. Ngoài ra, theo sự ghi nhận của các công ty nghiên cứu thị trường, khoảng 70% lượng thời gian trực tuyến của người tiêu dùng là qua thiết bị di động và cứ hai lần mua sắm trực tuyến thì có một lần đặt qua điện thoại. Đồng thời, người tiêu dùng vẫn duy trì thói quen xem hàng trên di động, đặt mua hàng trên máy tính vì quá trình thanh toán rõ ràng hơn (có lẻ do màn hình to hơn). Do đó, nếu nền tảng thanh toán trên di động làm tốt hơn nữa trong thời gian tới, số lượng khách hàng chuyển qua mua sắm qua di động có khả năng tăng nhanh so với hiện nay. iPrice cũng cho biết các doanh nghiệp TMĐT tại Việt Nam có tỷ lệ chuyển đổi lượt truy cập các trang web TMĐT thành đơn hàng cao nhất trong khu vực Đông Nam Á với 65%, tiếp đến là Singapore và Indonesia 1.1.5.2. Sử dụng nhiều công nghệ để phát triển Để tăng trải nghiệm người dùng, quảng cáo đúng đối tượng và giao hàng nhanh chóng tiết kiệm thì công nghệ là điều không thể thiếu. Ví dụ để quảng cáo hiệu quả, các sàn hoặc trang quảng cáo, marketing liên kết sử dụng Big Data và Machine Learning vào để target đối tượng được chính xác hơn. Hoặc sử dụng Robot vào các kho hàng, AI vào việc nên để sản phẩm ở kho nào thì dễ giao hàng tới nhiều người mua hàng nhất. Nguyễn Khắc Hưng Đại Học Công Nghệ 10
  15. 1.1.5.3. Phát triển theo hướng của mạng xã hội Để tăng trải nghiệm người dùng các trang thương mại điện tử liên tục tung ra các tính năng mới nhằm “cung cấp các tính năng mang tính xã hội cho người dùng như tạo nội dung để tương tác với bạn bè, người mua hàng và người bán hàng”. Tháng 3 năm 2019 Shopee giới thiệu tính năng Shopee Live và shopee feed, y như những tính năng chính của mạng xã hội Facebook. Thực trạng thương mại điện tử trên thế giới TMĐT là ngành tăng trưởng mạnh nhất trên thế giới. Trong các năm qua thì thị trường thương mại điện tử thế giới không ngừng gia tăng. Và theo dự báo của statista thì giá trị thị trường năm 2019 sẽ đạt mức 3.535 tỷ USD và tiếp tục tăng gần gấp đôi giá trị (với 4.878 tỷ USD) [3] vào năm 2021. Sales 7000 6542 6000 5692 4927 5000 4206 4000 3535 2982 3000 2382 1845 2000 1336 1548 1000 0 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 Hình 1-2: Giá trị thị trường TMĐT liên tục tăng trưởng qua các năm Cùng nhìn vào sự phát triển của hai sàn thương mại điện tử đứng đầu thế giới và đứng đầu châu Á tại thời điểm hiện tại là Amazon và Alibaba. 1.2. Tình hình thương mại điện tử ở Việt Nam Cùng sự phát triển nhanh chóng của mạng internet và thiết bị di động thông minh, thương mại điện tử ở Việt Nam có sự bứt tốc bùng nổ. Theo Statista, tổng doanh thu của các công ty thương mại điện tử tại Việt Nam đạt 2,26 tỷ USD, tăng gần 30% so với năm 2017. Với kết quả đó, Việt Nam vươn lên top 6 trong 10 thị trường thương mại điện tử lớn nhất thế giới. Trên thị trường này, Việt Nam chỉ Nguyễn Khắc Hưng Đại Học Công Nghệ 11
  16. xếp sau những “ông lớn” như Trung Quốc, Mỹ, Anh, Nhật Bản và Đức. Tổng lượng người mua hàng trên các sàn thương mại điện tử trong năm 2018 đạt 49,8 triệu người. Dự kiến, con số này tăng lên 51,1 triệu người vào năm 2019 xu hướng mua sắm trên di động ngày càng tăng, chiếm đến 72% số đơn hàng. Theo Sách trắng thương mại điện tử Việt Nam 2019, thương mại điện tử bán lẻ - B2C của Việt Nam đã có mức tăng trưởng cao nhất trong 3 năm trở lại đây, tăng tới 30%. Mức tăng trưởng của thương mại điện tử Việt Nam trong 2 năm 2016 và 2017 lần lượt là 23% và 24%. Doanh thu B2C 12 10.08 10 8.06 8 6.2 6 5 4.07 4 2 0 2015 2016 2017 2018 2019 Hình 1-3: Doanh thu TMĐT B2C Việt Nam năm 2015 – 2019 (tỷ USD) Hạng mục 2015 2016 2017 2018 2019 Ước tính số người tham gia mua sắm trực tuyến 30,3 32,7 33,6 39,9 44,8 (triệu người) Ước tính giá trị mua sắm trực tuyến của một người 160 170 186 202 225 USD) Tỷ trọng doanh thu TMĐT B2C so với tổng mức bán 2,8% 3% 3,6% 4,2% 4,9% lẻ hàng hóa và doanh thu dịch vụ tiêu dùng cả nước Tỷ lệ người dân sử dụng Internet 22 54% 54,2% 58,1% 60% 66% (Nguồn: Sách trắng thương mại điện tử Việt Nam 2019) Hình 1-4: Quy mô thị trường thương mại điện tử B2C Việt Nam năm 2018 Nguyễn Khắc Hưng Đại Học Công Nghệ 12
  17. CHƯƠNG 2. CÁC NỀN TẢNG HỖ TRỢ THỰC THI TÁC VỤ TỰ ĐỘNG 2.1. AutoIT Giới thiệu AutoIt là một ngôn ngữ lập trình được ra đời vào tháng 1 năm 1999 bởi Jonathan Bennett. AutoIt có cú pháp tương tự gần như ngôn ngữ BASIC được thiết kế để tự động hóa các GUI (giao diện người dùng) như giả lập phím nhấn, di chuyển chuột, và thực hiện một số thao tác phức tạp khác trên cửa sổ, thao tác với tập tin, thư mục. AutoIt bước đầu được thiết kế để cấu hình tự động hoá và hàng ngàn máy tính cá nhân. Với dung lượng vô cùng nhỏ gọn, và đồng thời chạy độc lập được trên mọi các phiên bản của Windows mà không cần các chương trình runtime chạy nền. Hiện tại phiên bản mới nhất: 3.3.14.3 (Phát hành tháng 2, 2018) [13]. Hình 2-1: Nền tảng hỗ trợ tự động GUI AutoIT Điểm mạnh của AUTOIT  Dễ dàng tiếp cận dành cho người mới bắt đầu với cú pháp đơn giản.  Mô phỏng sự kiện chuột và keystrokes  Tương tác với tất cả các cửa sổ theo tiêu chuẩn kiểm soát và các tiến trình của hệ điều hành.  Mã thực thi có thể thực thi độc lập với quá trình biên soạn.  Tạo giao diện GUI tương tác với người dùng hỗ trợ COM Nguyễn Khắc Hưng Đại Học Công Nghệ 13
  18.  Tương thích với tất cả phiên bản hệ điều hành của Windows và có hỗ trợ x64 và Unicode.  Có thể gọi các hàm giao diện lập trình ứng dụng (API) và các thư viện động (DLL) một cách có định hướng.  Cộng đồng hỗ trợ vô cùng lớn kèm theo tài liệu chi tiết.  AutoIt hoàn toàn miễn phí nhưng nhà phát triển có thể quyên góp tiền bạc hoặc đóng góp công sức cho cộng đồng phát triển AutoIt. Autoit được xem là một ngôn ngữ hỗ trợ tốt để viết các tiện ích auto. Ví dụ như là auto webgame, keylogger, botnet, auto click chuột, auto đăng nhập và những thao tác tự động khác mà không cần đến sự can thiệp của người dùng. Với công cụ Aut2Exe, các kịch bản có thể được biên dịch thành tệp tin thực thi (*.exe) Điểm yếu của AUTOIT Ngoài các thuận lợi nêu ở trên, AutoIt cũng mắc phải một số điểm chưa tốt gây bất tiện cho người dùng: • Dữ liệu không xác định kiểu: AutoIt không định nghĩa kiểu dữ liệu cho các biến làm cho rất khó debug. • Chưa hỗ trợ đa tiến trình (multi-thread). • Chưa hỗ trợ đầy đủ bộ xử lý sự kiện với chuột như sự kiện MouseHover, MouseMove. • Khả năng bị dịch ngược: dễ dàng để giải mã mã nguồn và cần dùng thêm một số thủ thuật để khắc phục sau khi biên dịch mã nguồn của AutoIt mặc dù đã được nén và mã hóa luôn vào tệp tin thực thi. • Thường bị trình diệt vi-rút cho luôn là Trojan/Malware. Với mục đích ban đầu AutoIT được sử dụng để viết các chương trình Auto để giải quyết các nhu cầu về công việc nào đó. Đa số trong số đó là AutoGame, AutoSendRequest. Tuy nhiên có vẻ như nhiều người sử dụng AutoIT để viết các mã độc virus malware hay nổi tiếng hơn là Botnet/RAT - Cái này chuyên để tạo ra những troijan. Yahoo ngày xưa cũng bị phát tán virus năm 2006, hầu hết các mã độc đó đều được viết bằng AutoIT. Vậy nên sau một thời gian dài thì các trình Nguyễn Khắc Hưng Đại Học Công Nghệ 14
  19. diệt virus chỉ cần nhận diện "chữ ký" của ứng dụng đó là AutoIt thì coi là virus/malware luôn. Các hàm, thủ tục AUTOIT hỗ trợ Hàm xử lý biến môi trường trong Windows Thông thường người dùng phải bấm phải chuột vào My Computer > Properties >Advanced, chọn Environment Variables để thiết lập biến môi trường trong Windows. AutoIT có sẵn một số hàm xử lý biến môi trường để làm việc này mà không phải thao tác như trên. Tên thủ tục Diễn giải EnvGet (Envvar) Trả về giá trị của một biến môi trường trong Windows. EnvSet(Envvar, value) Thiết lập giá trị cho một biến môi trường trong Windows. EnvUpdate() Cập nhật lại biến môi trường của Windows Bảng 2-1: Các hàm biến môi trường trong AUTOIT Hàm phát âm thanh hoặc kiểm tra hình ảnh. Tên thủ tục Diễn giải Beep([fre], [duration]) Phát tiếng bip bip trong 1 khoảng thời gian. SoundPlay(“filename”, [wait]) Chơi tập tin âm thanh có đường dẫn là filename. SoundSetWaveVolume(percent) Thiết lập lại biến môi trường của Windows PixelChecksum(left, top, right, Trả về số điểm ảnh trên một khu vực hình chữ nhật bottom, [step], [hwnd]) của màn hình. Lấy giá trị màu tại một điểm ảnh có tọa độ (x, y) nào PixelGetColor(x, y, [hwnd]) đó. Bảng 2-2: Các hàm phát âm thanh Hàm xử lý thư mục Tên thủ tục Diễn giải DirCopy(“sourcedir”, “destdir”, Sao chép các tập tin và thư mục con của thư [flag]) mục nguồn đến thư mục đích. DirCreate(“path”) Tạo thư mục theo đường dẫn path. Nguyễn Khắc Hưng Đại Học Công Nghệ 15
  20. DirMove(“sourcedir”, “destdir”, Di chuyển thư mục. [flag]) DirRemove(“path”, [flag]) Xóa thư mục. FileGetAttrib(“filename”) Lấy thông tin các thuộc tính của tập tin. FileOpenDialog(“title”, “dir”, Mở hộp thoại Open. “filter”) Chuyển đường dẫn thư mục làm việc hiện FileChangeDir(“path”) hành đến thư mục khác. Đọc toàn bộ nội dung của một tập tin văn FileRead(“filehandle/filename”) bản có tên là filename. FileWriteLine(“filename”, Ghi thêm thông tin dataline vào phần cuối “dataline”) của tập tin văn bản. Bảng 2-3: Các hàm xử lý thư mục Hàm tiện ích Bàn phím Tên thủ tục Diễn giải Gửi phím nhấn có mã keycode đến cửa sổ Send(“keycode”, [flagcode]) đang kích hoạt. HotKeySet(“key”) Gán phím nóng đến cửa sổ đang kích hoạt. Giữ một cửa sổ chương trình nào đó luôn luôn SendKeepActive(“Title”) được kích hoạt trong khi gọi hàm Send. Bảng 2-4: Các hàm tiện ích bàn phím Hàm toán học Tên thủ tục Diễn giải Abs(expression) Tính trị tuyệt đối của một con số Tính arcCosine của một con số. (hàm trả về theo đơn vị ACos(expression) radians) Tính arcsine của một con số. (hàm trả về theo đơn vị ASin(expression) radians) Tính arctangent của một số. (hàm trả về theo đơn vị Atan(expression) radians) Nguyễn Khắc Hưng Đại Học Công Nghệ 16
nguon tai.lieu . vn